2 #ifndef GAUDIKERNEL_ISVCLOCATOR_H
3 #define GAUDIKERNEL_ISVCLOCATOR_H 1
31 #if !defined(GAUDI_V22_API) || defined(G22_NEW_SVCLOCATOR)
37 IService*& svc,
const bool createIf =
true) {
58 return svc->queryInterface(iid, (
void**)&pinterface);
77 virtual bool existsService(
const std::string& name)
const = 0;
79 #if !defined(GAUDI_V22_API) || defined(G22_NEW_SVCLOCATOR)
82 StatusCode service(
const Gaudi::Utils::TypeNameString& name, T*& svc,
bool createIf =
true ) {
88 return getService( name, T::interfaceID(), (
IInterface*&)svc );
94 T*& svc,
bool createIf =
true ) {
95 return service(type +
"/" + name, svc, createIf);
103 template <
typename T>
105 return SmartIF<T>(service(typeName, createIf));
111 #endif // GAUDI_ISVCLOCATOR_H