1 #ifndef GAUDIKERNEL_ISVCLOCATOR_H 2 #define GAUDIKERNEL_ISVCLOCATOR_H 1 30 #if !defined(GAUDI_V22_API) || defined(G22_NEW_SVCLOCATOR) 36 IService*& svc,
const bool createIf =
true) {
54 auto svc = service(typeName,
false);
55 return svc ? svc->queryInterface(iid, (
void**)&pinterface)
75 #if !defined(GAUDI_V22_API) || defined(G22_NEW_SVCLOCATOR) 90 T*& svc,
bool createIf =
true ) {
91 return service(type +
"/" + name, svc, createIf);
101 return SmartIF<T>{ service(typeName, createIf) };
105 template <
typename IFace>
111 #endif // GAUDI_ISVCLOCATOR_H
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
bool isSuccess() const
Test for a status code of SUCCESS.
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
SmartIF< T > service(const Gaudi::Utils::TypeNameString &typeName, const bool createIf=true)
Returns a smart pointer to the requested interface of a service.
StatusCode service(const std::string &type, const std::string &name, T *&svc, bool createIf=true)
Templated method to access a service by type and name.
TYPE * get() const
Get interface pointer.
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Helper class to parse a string of format "type/name".
General service interface definition.
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
virtual StatusCode getService(const Gaudi::Utils::TypeNameString &typeName, IService *&svc, const bool createIf=true)
Get a reference to the service given a service name.
virtual StatusCode getService(const Gaudi::Utils::TypeNameString &typeName, const InterfaceID &iid, IInterface *&pinterface)
Get a specific interface pointer given a service name and interface id.
Gaudi::InterfaceId< IInterface, 0, 0 > iid
Interface ID.
std::string typeName(const std::type_info &typ)
IInterface *PyHelper() getService(IInterface *app, char *name)