00001 // $Id: IPartitionControl.h,v 1.1 2004/07/06 10:17:40 mato Exp $ 00002 #ifndef GAUDIKERNEL_IPARTITIONCONTROL_H 00003 #define GAUDIKERNEL_IPARTITIONCONTROL_H 00004 00005 // Framework include files 00006 #include "GaudiKernel/IInterface.h" 00007 00008 // C++ include files 00009 #include <string> 00010 00011 static const InterfaceID IID_IPartitionControl("IPartitionControl", 0 , 0); 00012 00069 class IPartitionControl : virtual public IInterface { 00070 public: 00071 00073 static const InterfaceID& interfaceID() { return IID_IPartitionControl; } 00074 00076 00087 virtual StatusCode create(const std::string& name, 00088 const std::string& type) = 0; 00089 00091 00103 virtual StatusCode create(const std::string& name, 00104 const std::string& type, 00105 IInterface*& pPartition) = 0; 00106 00108 00116 virtual StatusCode drop(const std::string& name) = 0; 00117 00119 00129 virtual StatusCode drop(IInterface* pPartition) = 0; 00130 00132 00142 virtual StatusCode activate(const std::string& name) = 0; 00143 00145 00158 virtual StatusCode activate(IInterface* pPartition) = 0; 00159 00161 00168 virtual StatusCode get(const std::string& name, IInterface*& pPartition) const = 0; 00169 00171 00178 virtual StatusCode activePartition(std::string& name, IInterface*& pPartition) const = 0; 00179 00180 // Return codes: 00181 enum { PARTITION_NOT_PRESENT = 2, 00182 PARTITION_EXISTS = 4, 00183 NO_ACTIVE_PARTITION = 6 00184 }; 00185 }; 00186 #endif // GAUDIKERNEL_IPARTITIONCONTROL_H