1 #ifndef GAUDIKERNEL_CONVERTER_H
2 #define GAUDIKERNEL_CONVERTER_H
26 typedef Gaudi::PluginService::Factory1<
IConverter*,
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