The Gaudi Framework  v30r3 (a5ef0a68)
IPartitionControl.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_IPARTITIONCONTROL_H
2 #define GAUDIKERNEL_IPARTITIONCONTROL_H
3 
4 // Framework include files
6 
7 // C++ include files
8 #include <string>
9 
66 class GAUDI_API IPartitionControl : virtual public IInterface
67 {
68 public:
71 
73 
84  virtual StatusCode create( const std::string& name, const std::string& type ) = 0;
85 
87 
99  virtual StatusCode create( const std::string& name, const std::string& type, IInterface*& pPartition ) = 0;
100 
102 
110  virtual StatusCode drop( const std::string& name ) = 0;
111 
113 
123  virtual StatusCode drop( IInterface* pPartition ) = 0;
124 
126 
136  virtual StatusCode activate( const std::string& name ) = 0;
137 
139 
152  virtual StatusCode activate( IInterface* pPartition ) = 0;
153 
155 
162  virtual StatusCode get( const std::string& name, IInterface*& pPartition ) const = 0;
163 
165 
172  virtual StatusCode activePartition( std::string& name, IInterface*& pPartition ) const = 0;
173 
174  // Return codes:
175  enum class Status : StatusCode::code_t { PARTITION_NOT_PRESENT = 2, PARTITION_EXISTS = 4, NO_ACTIVE_PARTITION = 6 };
176 };
177 
179 
180 #endif // GAUDIKERNEL_IPARTITIONCONTROL_H
#define STATUSCODE_ENUM_DECL(ENUM)
Declare an enum to be used as StatusCode value.
Definition: StatusCode.h:258
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
Definition of the basic interface.
Definition: IInterface.h:277
Status
Return status.
Definition: IInterface.h:331
Create / access partitions.
#define GAUDI_API
Definition: Kernel.h:104
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:54