33 "option to set the tool manipulating the multi-service name"};
39 using extends::extends;
93 template <
typename... FArgs,
typename... Args>
96 return m_actor ? ( m_actor->*
fun )( std::forward<Args>(
args )... ) : NO_INTERFACE;
98 template <
typename... FArgs,
typename... Args>
101 return m_actor ? ( m_actor->*
fun )( std::forward<Args>(
args )... ) : NO_INTERFACE;
109 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
115 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
121 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot drop partition: " + nam );
127 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot drop partition by Interface." );
133 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot activate partition: " + nam );
139 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot activate partition by Interface." );
145 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot get partition " + nam );
151 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot determine active partition." );
StatusCode fwd_(StatusCode(IPartitionControl::*fun)(FArgs...) const, Args &&...args) const
Small smart pointer class with automatic reference counting for IInterface.
MsgStream & msg() const
shortcut for the method msgStream(MSG::INFO)
STATUS initialize() override
Initialize.
const std::string & name() const override
The identifying name of the algorithm object.
Implementation of property with value of concrete type.
unsigned long getCode() const
Get the status code by value.
STATUS drop(IInterface *pPartition) override
Drop a partition object. The name identifies the partition uniquely.
StatusCode log_(StatusCode sc, const std::string &msg) const
bool isSuccess() const
Test for a status code of SUCCESS.
SmartIF< IToolSvc > & toolSvc() const
The standard ToolSvc service, Return a pointer to the service if present.
virtual StatusCode create(const std::string &name, const std::string &type)=0
Create a partition object. The name identifies the partition uniquely.
STATUS finalize() override
Finalize.
STATUS activePartition(std::string &nam, IInterface *&pPartition) const override
Access the active partition object.
Gaudi::Property< std::string > m_toolType
StatusCode fwd_(StatusCode(IPartitionControl::*fun)(FArgs...), Args &&...args)
Gaudi::Property< std::string > m_partName
bool isFailure() const
Test for a status code of FAILURE.
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
~PartitionSwitchAlg() override=default
Standard Destructor.
STATUS drop(CSTR nam) override
Drop a partition object. The name identifies the partition uniquely.
This class is used for returning status codes from appropriate routines.
virtual StatusCode get(const std::string &name, IInterface *&pPartition) const =0
Access a partition object. The name identifies the partition uniquely.
Definition of the basic interface.
STATUS create(CSTR nam, CSTR typ, IInterface *&pPartition) override
Create a partition object. The name identifies the partition uniquely.
Small algorithm which switches the partition of a configurable multi-service.
STATUS activate(IInterface *pPartition) override
Activate a partition object.
virtual StatusCode activePartition(std::string &name, IInterface *&pPartition) const =0
Access the active partition object.
Create / access partitions.
Base class used to extend a class implementing other interfaces.
double fun(const std::vector< double > &x)
STATUS create(CSTR nam, CSTR typ) override
Create a partition object. The name identifies the partition uniquely.
IPartitionControl * m_actor
reference to Partition Controller
virtual StatusCode drop(const std::string &name)=0
Drop a partition object. The name identifies the partition uniquely.
virtual StatusCode activate(const std::string &name)=0
Activate a partition object. The name identifies the partition uniquely.
STATUS activate(CSTR nam) override
Activate a partition object. The name identifies the partition uniquely.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
STATUS execute() override
Execute procedure.