Go to the documentation of this file.
42 "option to set the tool manipulating the multi-service name" };
48 using extends::extends;
60 if ( sc =
toolSvc()->releaseTool(
tool ); !sc )
return sc;
73 return extends::finalize();
83 error() <<
"The partition control tool \"" <<
name() <<
"." <<
m_toolType <<
"\" cannot be accessed!" <<
endmsg;
92 template <
typename... FArgs,
typename... Args>
96 template <
typename... FArgs,
typename... Args>
105 return sc.isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
110 return sc.isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
115 return sc.isSuccess() ? sc :
log_( sc,
"Cannot drop partition: " + nam );
120 return sc.isSuccess() ? sc :
log_( sc,
"Cannot drop partition by Interface." );
125 return sc.isSuccess() ? sc :
log_( sc,
"Cannot activate partition: " + nam );
130 return sc.isSuccess() ? sc :
log_( sc,
"Cannot activate partition by Interface." );
135 return sc.isSuccess() ? sc :
log_( sc,
"Cannot get partition " + nam );
140 return sc.isSuccess() ? sc :
log_( sc,
"Cannot determine active partition." );
STATUS drop(IInterface *pPartition) override
Drop a partition object. The name identifies the partition uniquely.
IPartitionControl * m_actor
reference to Partition Controller
StatusCode fwd_(StatusCode(IPartitionControl::*fun)(FArgs...) const, Args &&... args) const
STATUS activate(IInterface *pPartition) override
Activate a partition object.
Gaudi::Property< std::string > m_toolType
SmartIF< IToolSvc > & toolSvc() const
The standard ToolSvc service, Return a pointer to the service if present.
const std::string & name() const override
The identifying name of the algorithm object.
STATUS initialize() override
Initialize.
STATUS create(CSTR nam, CSTR typ) override
Create a partition object. The name identifies the partition uniquely.
@ NO_INTERFACE
Requested interface is not available.
STATUS activePartition(std::string &nam, IInterface *&pPartition) const override
Access the active partition object.
StatusCode fwd_(StatusCode(IPartitionControl::*fun)(FArgs...), Args &&... args)
virtual StatusCode create(const std::string &name, const std::string &type)=0
Create a partition object. The name identifies the partition uniquely.
STATUS activate(CSTR nam) override
Activate a partition object. The name identifies the partition uniquely.
STATUS drop(CSTR nam) override
Drop a partition object. The name identifies the partition uniquely.
STATUS create(CSTR nam, CSTR typ, IInterface *&pPartition) override
Create a partition object. The name identifies the partition uniquely.
Gaudi::Property< std::string > m_partName
virtual StatusCode drop(const std::string &name)=0
Drop a partition object. The name identifies the partition uniquely.
STATUS finalize() override
Finalize.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Base class used to extend a class implementing other interfaces.
virtual StatusCode get(const std::string &name, IInterface *&pPartition) const =0
Access a partition object. The name identifies the partition uniquely.
STATUS execute() override
Execute procedure.
virtual StatusCode activePartition(std::string &name, IInterface *&pPartition) const =0
Access the active partition object.
StatusCode log_(StatusCode sc, const std::string &msg) const
#define DECLARE_COMPONENT(type)
code_t getCode() const
Retrieve value.
constexpr static const auto FAILURE
virtual StatusCode activate(const std::string &name)=0
Activate a partition object. The name identifies the partition uniquely.
STATUS get(CSTR nam, IInterface *&pPartition) const override
Access a partition object. The name identifies the partition uniquely.