All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PartitionSwitchTool Class Reference
Inheritance diagram for PartitionSwitchTool:
Collaboration diagram for PartitionSwitchTool:

Public Member Functions

 PartitionSwitchTool (CSTR typ, CSTR nam, const IInterface *parent)
 Standard constructor. More...
 
virtual ~PartitionSwitchTool ()
 Standard destructor. More...
 
virtual STATUS initialize ()
 Initialize. More...
 
virtual STATUS finalize ()
 Finalize. More...
 
void _check (STATUS sc, CSTR msg) const
 
virtual STATUS create (CSTR nam, CSTR typ)
 Create a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS create (CSTR nam, CSTR typ, IInterface *&pPartition)
 Create a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS drop (CSTR nam)
 Drop a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS drop (IInterface *pPartition)
 Drop a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS activate (CSTR nam)
 Activate a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS activate (IInterface *pPartition)
 Activate a partition object. More...
 
virtual STATUS get (CSTR nam, IInterface *&pPartition) const
 Access a partition object. The name identifies the partition uniquely. More...
 
virtual STATUS activePartition (std::string &nam, IInterface *&pPartition) const
 Access the active partition object. More...
 
- Public Member Functions inherited from extends1< AlgTool, IPartitionControl >
 extends1 (A1 a1, A2 a2, A3 a3)
 Templated constructor with 3 arguments. More...
 
 extends1 (A1 a1, A2 a2)
 Templated constructor with 2 arguments. More...
 
 extends1 (A1 a1)
 Templated constructor with 1 argument. More...
 
 extends1 ()
 Default constructor. More...
 
virtual void * i_cast (const InterfaceID &tid) const
 Implementation of IInterface::i_cast. More...
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)
 Implementation of IInterface::queryInterface. More...
 
virtual std::vector< std::string > getInterfaceNames () const
 Implementation of IInterface::getInterfaceNames. More...
 
virtual ~extends1 ()
 Virtual destructor. More...
 
- Public Member Functions inherited from AlgTool
virtual const std::string & name () const
 Retrieve full identifying name of the concrete tool object. More...
 
virtual const std::string & type () const
 Retrieve type (concrete class) of the sub-algtool. More...
 
virtual const IInterfaceparent () const
 Retrieve parent of the sub-algtool. More...
 
virtual StatusCode configure ()
 Configuration (from OFFLINE to CONFIGURED). More...
 
virtual StatusCode start ()
 Start (from INITIALIZED to RUNNING). More...
 
virtual StatusCode stop ()
 Stop (from RUNNING to INITIALIZED). More...
 
virtual StatusCode terminate ()
 Initialization (from CONFIGURED to OFFLINE). More...
 
virtual StatusCode reinitialize ()
 Initialization (from INITIALIZED or RUNNING to INITIALIZED, via CONFIGURED). More...
 
virtual StatusCode restart ()
 Initialization (from RUNNING to RUNNING, via INITIALIZED). More...
 
virtual Gaudi::StateMachine::State FSMState () const
 Get the current state. More...
 
virtual Gaudi::StateMachine::State targetFSMState () const
 When we are in the middle of a transition, get the state where the transition is leading us. More...
 
virtual StatusCode sysInitialize ()
 Initialize AlgTool. More...
 
virtual StatusCode sysStart ()
 Start AlgTool. More...
 
virtual StatusCode sysStop ()
 Stop AlgTool. More...
 
virtual StatusCode sysFinalize ()
 Finalize AlgTool. More...
 
virtual StatusCode sysReinitialize ()
 Initialize AlgTool. More...
 
virtual StatusCode sysRestart ()
 Start AlgTool. More...
 
virtual StatusCode setProperty (const Property &p)
 Default implementations for IProperty interface. More...
 
virtual StatusCode setProperty (const std::string &s)
 Set the property by string. More...
 
virtual StatusCode setProperty (const std::string &n, const std::string &v)
 Set the property by std::string. More...
 
virtual StatusCode getProperty (Property *p) const
 Get the property by property. More...
 
virtual const PropertygetProperty (const std::string &name) const
 Get the property by name. More...
 
virtual StatusCode getProperty (const std::string &n, std::string &v) const
 Get the property by std::string. More...
 
virtual const std::vector
< Property * > & 
getProperties () const
 Get list of properties. More...
 
PropertyMgrgetPropertyMgr ()
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value More...
 
 AlgTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard Constructor. More...
 
ISvcLocatorserviceLocator () const
 Retrieve pointer to service locator. More...
 
ISvcLocatorsvcLoc () const
 shortcut for the method service locator More...
 
IMessageSvcmsgSvc () const
 Retrieve pointer to message service. More...
 
IToolSvctoolSvc () const
 The standard ToolSvc service, Return a pointer to the service if present. More...
 
StatusCode setProperties ()
 Method for setting declared properties to the values specified in the jobOptions via the job option service. More...
 
template<class T >
StatusCode service (const std::string &name, T *&svc, bool createIf=true) const
 Access a service by name, creating it if it doesn't already exist. More...
 
template<class T >
StatusCode service (const std::string &type, const std::string &name, T *&svc) const
 Access a service by name, type creating it if it doesn't already exist. More...
 
SmartIF< IServiceservice (const std::string &name, const bool createIf=true, const bool quiet=false) const
 Return a pointer to the service identified by name (or "type/name") More...
 
void declInterface (const InterfaceID &, void *)
 declare interface More...
 
template<class T >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property. More...
 
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties. More...
 
IAuditorSvcauditorSvc () const
 Access the auditor service. More...
 
IMonitorSvcmonitorSvc () const
 Access the monitor service. More...
 
template<class T >
void declareInfo (const std::string &name, const T &var, const std::string &desc) const
 Declare monitoring information. More...
 
void declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const
 Declare monitoring information (special case) More...
 
- Public Member Functions inherited from extend_interfaces3< IAlgTool, IProperty, IStateful >
virtual ~extend_interfaces3 ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IAlgTool
 DeclareInterfaceID (IAlgTool, 3, 0)
 InterfaceID. More...
 
virtual ~IAlgTool ()
 Virtual destructor. More...
 
virtual unsigned long refCount () const =0
 Current number of reference counts. More...
 
- Public Member Functions inherited from INamedInterface
 DeclareInterfaceID (INamedInterface, 1, 0)
 InterfaceID. More...
 
virtual ~INamedInterface ()
 Virtual destructor (always needed for abstract classes). More...
 
- Public Member Functions inherited from IInterface
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance. More...
 
virtual unsigned long release ()=0
 Release Interface instance. More...
 
virtual ~IInterface ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IProperty
 DeclareInterfaceID (IProperty, 2, 0)
 InterfaceID. More...
 
- Public Member Functions inherited from IStateful
 DeclareInterfaceID (IStateful, 1, 0)
 InterfaceID. More...
 
virtual ~IStateful ()
 
- Public Member Functions inherited from extend_interfaces1< IPartitionControl >
virtual ~extend_interfaces1 ()
 Virtual destructor. More...
 
- Public Member Functions inherited from IPartitionControl
 DeclareInterfaceID (IPartitionControl, 1, 0)
 InterfaceID. More...
 
virtual StatusCode create (const std::string &name, const std::string &type)=0
 Create a partition object. The name identifies the partition uniquely. More...
 
virtual StatusCode create (const std::string &name, const std::string &type, IInterface *&pPartition)=0
 Create a partition object. The name identifies the partition uniquely. More...
 
virtual StatusCode drop (const std::string &name)=0
 Drop a partition object. The name identifies the partition uniquely. More...
 
virtual StatusCode activate (const std::string &name)=0
 Activate a partition object. The name identifies the partition uniquely. More...
 
virtual StatusCode get (const std::string &name, IInterface *&pPartition) const =0
 Access a partition object. The name identifies the partition uniquely. More...
 

Private Types

typedef const std::string & CSTR
 
typedef StatusCode STATUS
 

Private Attributes

std::string m_actorName
 Job option to set the multi-service name. More...
 
SmartIF< IPartitionControlm_actor
 reference to Partition Controller More...
 

Additional Inherited Members

- Public Types inherited from extends1< AlgTool, IPartitionControl >
typedef extends1 base_class
 Typedef to this class. More...
 
typedef extend_interfaces1
< IPartitionControl
extend_interfaces_base
 Typedef to the base of this class. More...
 
typedef
extend_interfaces_base::ext_iids 
interfaces
 MPL set of all the implemented interfaces. More...
 
- Public Types inherited from AlgTool
typedef
Gaudi::PluginService::Factory
< IAlgTool *, const
std::string &, const
std::string &, const
IInterface * > 
Factory
 
- Public Types inherited from implements3< IAlgTool, IProperty, IStateful >
typedef implements3 base_class
 Typedef to this class. More...
 
typedef extend_interfaces3
< IAlgTool, IProperty,
IStateful
extend_interfaces_base
 Typedef to the base of this class. More...
 
typedef
extend_interfaces_base::ext_iids 
interfaces
 MPL set of all the implemented interfaces. More...
 
- Public Types inherited from extend_interfaces3< IAlgTool, IProperty, IStateful >
typedef mpl::fold< typename
IAlgTool::iid::iids::type,
typename mpl::fold< typename
IProperty::iid::iids::type,
typename
IStateful::iid::iids::type,
mpl::insert< mpl::_1, mpl::_2 >
>::type, mpl::insert< mpl::_1,
mpl::_2 > >::type 
ext_iids
 MPL set of interfaces extended by this one. More...
 
- Public Types inherited from IInterface
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...
 
typedef Gaudi::InterfaceId
< IInterface, 0, 0 > 
iid
 Interface ID. More...
 
typedef mpl::set1< iidext_iids
 Extra interfaces. More...
 
- Public Types inherited from extend_interfaces1< IPartitionControl >
typedef
IPartitionControl::iid::iids::type 
ext_iids
 MPL set of interfaces extended by this one. More...
 
- Public Types inherited from IPartitionControl
enum  { PARTITION_NOT_PRESENT = 2, PARTITION_EXISTS = 4, NO_ACTIVE_PARTITION = 6 }
 
- Static Public Member Functions inherited from IInterface
static const InterfaceIDinterfaceID ()
 Return an instance of InterfaceID identifying the interface. More...
 
- Protected Member Functions inherited from AlgTool
int outputLevel () const
 get tool's output level More...
 
IntegerPropertyoutputLevelProperty ()
 Accessor for the Message level property. More...
 
void initOutputLevel (Property &prop)
 callback for output level property More...
 
virtual ~AlgTool ()
 

Detailed Description

Author
Markus Frank
Date
2004-06-24

Definition at line 16 of file PartitionSwitchTool.cpp.

Member Typedef Documentation

typedef const std::string& PartitionSwitchTool::CSTR
private

Definition at line 18 of file PartitionSwitchTool.cpp.

Definition at line 19 of file PartitionSwitchTool.cpp.

Constructor & Destructor Documentation

PartitionSwitchTool::PartitionSwitchTool ( CSTR  typ,
CSTR  nam,
const IInterface parent 
)
inline

Standard constructor.

Definition at line 31 of file PartitionSwitchTool.cpp.

32  : base_class(typ, nam , parent)
33  {
34  declareProperty("Actor", m_actorName = "EventDataService");
35  }
extends1 base_class
Typedef to this class.
Definition: extends.h:12
std::string m_actorName
Job option to set the multi-service name.
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
Definition: AlgTool.h:234
virtual PartitionSwitchTool::~PartitionSwitchTool ( )
inlinevirtual

Standard destructor.

Definition at line 37 of file PartitionSwitchTool.cpp.

37  {
38  m_actor = 0;
39  }
SmartIF< IPartitionControl > m_actor
reference to Partition Controller

Member Function Documentation

void PartitionSwitchTool::_check ( STATUS  sc,
CSTR  msg 
) const
inline

Definition at line 67 of file PartitionSwitchTool.cpp.

67  {
68  MsgStream log(msgSvc(), name());
69  log << MSG::ERROR << msg << " Status=" << sc.getCode() << endmsg;
70  }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
unsigned long getCode() const
Get the status code by value.
Definition: StatusCode.h:79
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:79
virtual const std::string & name() const
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:51
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244
virtual STATUS PartitionSwitchTool::activate ( CSTR  nam)
inlinevirtual

Activate a partition object. The name identifies the partition uniquely.

Definition at line 94 of file PartitionSwitchTool.cpp.

94  {
95  STATUS sc = m_actor ? m_actor->activate(nam) : NO_INTERFACE;
96  CHECK(sc, "Cannot activate partition: "+nam);
97  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::activate ( IInterface pPartition)
inlinevirtual

Activate a partition object.

Implements IPartitionControl.

Definition at line 99 of file PartitionSwitchTool.cpp.

99  {
100  STATUS sc = m_actor ? m_actor->activate(pPartition) : NO_INTERFACE;
101  CHECK(sc, "Cannot activate partition by Interface.");
102  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::activePartition ( std::string &  nam,
IInterface *&  pPartition 
) const
inlinevirtual

Access the active partition object.

Implements IPartitionControl.

Definition at line 109 of file PartitionSwitchTool.cpp.

109  {
110  STATUS sc = m_actor ? m_actor->activePartition(nam, pPartition) : NO_INTERFACE;
111  CHECK(sc, "Cannot determine active partition.");
112  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::create ( CSTR  nam,
CSTR  typ 
)
inlinevirtual

Create a partition object. The name identifies the partition uniquely.

Definition at line 74 of file PartitionSwitchTool.cpp.

74  {
75  STATUS sc = m_actor ? m_actor->create(nam,typ) : NO_INTERFACE;
76  CHECK(sc, "Cannot create partition: "+nam+" of type "+typ);
77  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::create ( CSTR  nam,
CSTR  typ,
IInterface *&  pPartition 
)
inlinevirtual

Create a partition object. The name identifies the partition uniquely.

Definition at line 79 of file PartitionSwitchTool.cpp.

79  {
80  STATUS sc = m_actor ? m_actor->create(nam,typ,pPartition) : NO_INTERFACE;
81  CHECK(sc, "Cannot create partition: "+nam+" of type "+typ);
82  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::drop ( CSTR  nam)
inlinevirtual

Drop a partition object. The name identifies the partition uniquely.

Definition at line 84 of file PartitionSwitchTool.cpp.

84  {
85  STATUS sc = m_actor ? m_actor->drop(nam) : NO_INTERFACE;
86  CHECK(sc, "Cannot drop partition: "+nam);
87  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::drop ( IInterface pPartition)
inlinevirtual

Drop a partition object. The name identifies the partition uniquely.

Implements IPartitionControl.

Definition at line 89 of file PartitionSwitchTool.cpp.

89  {
90  STATUS sc = m_actor ? m_actor->drop(pPartition) : NO_INTERFACE;
91  CHECK(sc, "Cannot drop partition by Interface.");
92  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
virtual STATUS PartitionSwitchTool::finalize ( )
inlinevirtual

Finalize.

Reimplemented from AlgTool.

Definition at line 62 of file PartitionSwitchTool.cpp.

62  {
63  m_actor = 0;
64  return AlgTool::finalize();
65  }
virtual StatusCode finalize()
Finalize (from INITIALIZED to CONFIGURED).
Definition: AlgTool.cpp:434
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
virtual STATUS PartitionSwitchTool::get ( CSTR  nam,
IInterface *&  pPartition 
) const
inlinevirtual

Access a partition object. The name identifies the partition uniquely.

Definition at line 104 of file PartitionSwitchTool.cpp.

104  {
105  STATUS sc = m_actor ? m_actor->get(nam, pPartition) : NO_INTERFACE;
106  CHECK(sc, "Cannot get partition "+nam);
107  }
Requested interface is not available.
Definition: IInterface.h:221
#define CHECK(x, y)
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:62
virtual STATUS PartitionSwitchTool::initialize ( )
inlinevirtual

Initialize.

Access partitioned multi-service

Reimplemented from AlgTool.

Definition at line 42 of file PartitionSwitchTool.cpp.

42  {
45  MsgStream log(msgSvc(), name());
46  if ( !sc.isSuccess() ) {
47  log << MSG::ERROR << "Cannot initialize base class!" << endmsg;
48  return sc;
49  }
50  m_actor = 0;
51  IPartitionControl* tmpPtr = 0;
52  sc = service(m_actorName, tmpPtr);
53  m_actor = tmpPtr;
54  if ( !sc.isSuccess() ) {
55  log << MSG::ERROR << "Cannot retrieve partition controller \""
56  << m_actorName << "\"!" << endmsg;
57  return sc;
58  }
59  return sc;
60  }
Definition of the MsgStream class used to transmit messages.
Definition: MsgStream.h:24
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:62
std::string m_actorName
Job option to set the multi-service name.
IMessageSvc * msgSvc() const
Retrieve pointer to message service.
Definition: AlgTool.cpp:79
SmartIF< IPartitionControl > m_actor
reference to Partition Controller
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
StatusCode service(const std::string &name, T *&svc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
Definition: AlgTool.h:179
Create / access partitions.
virtual StatusCode initialize()
Initialization (from CONFIGURED to INITIALIZED).
Definition: AlgTool.cpp:307
virtual const std::string & name() const
Retrieve full identifying name of the concrete tool object.
Definition: AlgTool.cpp:51
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:244

Member Data Documentation

SmartIF<IPartitionControl> PartitionSwitchTool::m_actor
private

reference to Partition Controller

Definition at line 26 of file PartitionSwitchTool.cpp.

std::string PartitionSwitchTool::m_actorName
private

Job option to set the multi-service name.

Definition at line 24 of file PartitionSwitchTool.cpp.


The documentation for this class was generated from the following file: