1 #ifndef GAUDIKERNEL_CONVERTER_H
2 #define GAUDIKERNEL_CONVERTER_H
54 virtual const CLID& objType()
const;
58 virtual long i_repSvcType()
const;
90 return service_i(name, createIf, T::interfaceID(), (
void**)&psvc);
96 return service_i(type, name, T::interfaceID(), (
void**)&psvc);
100 SmartIF<IService> service(
const std::string& name,
const bool createIf =
true)
const;
136 StatusCode service_i(
const std::string& svcName,
140 StatusCode service_i(
const std::string& svcType,
141 const std::string& svcName,
153 return m_stype ==
id.m_stype && m_clid ==
id.m_clid;
162 return s <<
"CNV_" <<
id.m_stype <<
"_" <<
id.m_clid;
166 #ifndef GAUDI_NEW_PLUGIN_SERVICE
170 template <
typename S>
171 static typename S::ReturnType
create(
typename S::Arg1Type a1) {
177 #define DECLARE_CONVERTER_FACTORY(x) \
178 DECLARE_FACTORY_WITH_CREATOR_AND_ID(x, CnvFactory< x >, \
179 ConverterID(x::storageType(), x::classID()), Converter::Factory)
180 #define DECLARE_NAMESPACE_CONVERTER_FACTORY(n, x) \
181 DECLARE_CONVERTER_FACTORY(n::x)
186 #define DECLARE_CONVERTER_FACTORY(x) \
187 DECLARE_COMPONENT_WITH_ID(x, ConverterID(x::storageType(), x::classID()))
188 #define DECLARE_NAMESPACE_CONVERTER_FACTORY(n, x) \
189 DECLARE_CONVERTER_FACTORY(n::x)
193 #endif // GAUDIKERNEL_CONVERTER_H
SmartIF< IAddressCreator > m_addressCreator
Pointer to the address creation service interface.
SmartIF< ISvcLocator > m_svcLocator
Service Locator reference.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
The data converters are responsible to translate data from one representation into another...
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.
Data provider interface definition.
SmartIF< IConversionSvc > m_conversionSvc
Pointer to the connected conversion service.
Gaudi::InterfaceId< IInterface, 0, 0 > iid
Interface ID.
Base class used to implement the interfaces.
Gaudi::PluginService::Factory1< IConverter *, ISvcLocator * > Factory
long m_storageType
Storage type.
static S::ReturnType create(typename S::Arg1Type a1)
bool operator==(const GaudiUtils::Allocator< T1 > &, const GaudiUtils::Allocator< T2 > &)
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.
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.
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.
Class wrapping the signature for a factory with 1 argument.
SmartIF< IDataProviderSvc > m_dataProvider
Pointer to data provider service.