![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Id: ISvcManager.h,v 1.7 2008/11/10 15:29:09 marcocle Exp $ 00002 #ifndef GAUDIKERNEL_ISVCMANAGER_H 00003 #define GAUDIKERNEL_ISVCMANAGER_H 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include <string> 00008 00009 // Forward class declaration 00010 class IService; 00011 class ISvcLocator; 00012 class ISvcFactory; 00013 00014 // Declaration of the interface ID ( interface id, major version, minor version) 00015 static const InterfaceID IID_ISvcManager(13, 3 , 1); 00016 00026 class ISvcManager : virtual public IInterface { 00027 public: 00028 00030 static const InterfaceID& interfaceID() { return IID_ISvcManager; } 00031 00037 virtual StatusCode addService( IService* svc, int prio ) = 0; 00038 00044 virtual StatusCode addService( const std::string& typ, const std::string& nam, int prio ) = 0; 00045 00051 virtual StatusCode removeService( IService* svc ) = 0; 00052 00058 virtual StatusCode removeService( const std::string& nam ) = 0; 00059 00066 virtual StatusCode declareSvcFactory( const ISvcFactory& factory, 00067 const std::string& svctype ) = 0; 00068 00075 virtual StatusCode declareSvcType( const std::string& svcname, 00076 const std::string& svctype ) = 0; 00077 00086 virtual StatusCode createService( const std::string& svctype, 00087 const std::string& svcname, 00088 IService*& svc ) = 0; 00089 00096 virtual StatusCode getFactory( const std::string& svc_type, 00097 const ISvcFactory*& fac) const = 0; 00098 00103 virtual StatusCode initializeServices() = 0; 00104 00109 virtual StatusCode startServices() = 0; 00110 00115 virtual StatusCode stopServices() = 0; 00116 00121 virtual StatusCode finalizeServices() = 0; 00122 00127 virtual StatusCode reinitializeServices() = 0; 00128 00133 virtual StatusCode restartServices() = 0; 00134 00135 virtual int getPriority(const std::string& name) const = 0; 00136 virtual StatusCode setPriority(const std::string& name, int pri) = 0; 00137 00139 virtual bool loopCheckEnabled() const = 0; 00141 virtual void setLoopCheckEnabled(bool en = true) = 0; 00142 00143 }; 00144 00145 #endif // GAUDIKERNEL_ISVCMANAGER_H 00146