1 #ifndef GAUDIKERNEL_CONVERTER_H 2 #define GAUDIKERNEL_CONVERTER_H 56 const CLID& objType()
const override;
60 virtual long i_repSvcType()
const;
93 return service_i( name, createIf, T::interfaceID(), (
void**)&psvc );
100 return service_i( type, name, T::interfaceID(), (
void**)&psvc );
138 void** ppSvc )
const;
156 return s <<
"CNV_" <<
id.m_stype <<
"_" <<
id.m_clid;
159 #ifndef GAUDI_NEW_PLUGIN_SERVICE 165 template <
typename S,
typename... Args>
166 static typename S::ReturnType
create( Args&&...
a1 )
168 return new T( std::forward<Args>(
a1 )... );
174 #define DECLARE_CONVERTER_FACTORY( x ) \ 175 DECLARE_FACTORY_WITH_CREATOR_AND_ID( x, CnvFactory<x>, ConverterID( x::storageType(), x::classID() ), \ 177 #define DECLARE_NAMESPACE_CONVERTER_FACTORY( n, x ) DECLARE_CONVERTER_FACTORY( n::x ) 182 #define DECLARE_CONVERTER_FACTORY( x ) DECLARE_COMPONENT_WITH_ID( x, ConverterID( x::storageType(), x::classID() ) ) 183 #define DECLARE_NAMESPACE_CONVERTER_FACTORY( n, x ) DECLARE_CONVERTER_FACTORY( n::x ) 187 #endif // GAUDIKERNEL_CONVERTER_H SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
Base class used to implement the interfaces.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
SmartIF< IDataManagerSvc > m_dataManager
Pointer to data manager service.
IAddressCreator interface definition.
std::ostream & operator<<(std::ostream &s, const ConverterID &id)
SmartIF< IMessageSvc > m_messageSvc
MessageSvc reference.
static S::ReturnType create(Args &&...a1)
Data provider interface definition.
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
long m_storageType
Storage type.
This class is used for returning status codes from appropriate routines.
StatusCode service(const std::string &name, T *&psvc, bool createIf=false) const
Access a service by name, creating it if it doesn't already exist.
The IMessage is the interface implemented by the message service.
const CLID m_classType
Class type the converter can handle.
bool operator==(const ConverterID &id) const
The IRegistry represents the entry door to the environment any data object residing in a transient da...
ConverterID(long stype, CLID clid)
unsigned int CLID
Class ID definition.
Class wrapping the signature for a factory with any number of arguments.
Gaudi::PluginService::Factory< IConverter *, ISvcLocator * > Factory
StatusCode service(const std::string &type, const std::string &name, T *&psvc) const
Access a service by name, type creating it if it doesn't already exist.
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.