1 #ifndef GAUDIKERNEL_ALGTOOL_H
2 #define GAUDIKERNEL_ALGTOOL_H
37 typedef Gaudi::PluginService::Factory3<
IAlgTool*,
137 template <
class TYPE>
177 (
const std::string& name, T*& svc,
bool createIf =
true )
const {
178 return service_i(name, createIf, T::interfaceID(), (
void**)&svc);
185 return service_i(type, name, T::interfaceID(), (
void**)&svc);
197 tool->declInterface( I::interfaceID(), (I*)tool);
236 return m_propertyMgr -> declareProperty ( name , property , doc ) ;
244 return m_propertyMgr-> declareRemoteProperty ( name , rsvc , rname ) ;
262 if ( !m_pMonitorSvc ){
263 service_i( m_monitorSvcName,
false,
266 return m_pMonitorSvc;
297 if ( mS ) mS->
declareInfo(name, format, var, size, desc,
this);
309 void initOutputLevel(
Property& prop);
358 #ifndef GAUDI_NEW_PLUGIN_SERVICE
362 template <
typename S>
363 static typename S::ReturnType
create(
typename S::Arg1Type a1,
364 typename S::Arg2Type a2,
365 typename S::Arg3Type a3) {
366 return new T(a1, a2, a3);
371 #define DECLARE_TOOL_FACTORY(x) \
372 DECLARE_FACTORY_WITH_CREATOR(x, ToolFactory< x >, AlgTool::Factory)
373 #define DECLARE_NAMESPACE_TOOL_FACTORY(n, x) \
374 DECLARE_TOOL_FACTORY(n::x)
379 #define DECLARE_TOOL_FACTORY(x) DECLARE_COMPONENT(x)
380 #define DECLARE_NAMESPACE_TOOL_FACTORY(n,x) DECLARE_COMPONENT(n::x)
385 #endif // GAUDIKERNEL_ALGTOOL_H