33 "option to set the tool manipulating the multi-service name"};
39 using extends::extends;
90 template <
typename... FArgs,
typename... Args>
95 template <
typename... FArgs,
typename... Args>
106 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
112 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot create partition: " + nam +
" of type " + typ );
118 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot drop partition: " + nam );
124 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot drop partition by Interface." );
130 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot activate partition: " + nam );
136 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot activate partition by Interface." );
142 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot get partition " + nam );
148 return sc.
isSuccess() ? sc :
log_( sc,
"Cannot determine active partition." );
StatusCode fwd_(StatusCode(IPartitionControl::*fun)(FArgs...) const, Args &&...args) const
Requested interface is not available.
constexpr static const auto FAILURE
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.
STATUS drop(IInterface *pPartition) override
Drop a partition object. The name identifies the partition uniquely.
StatusCode log_(StatusCode sc, const std::string &msg) const
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
#define DECLARE_COMPONENT(type)
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
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.
constexpr static const auto SUCCESS
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.
code_t getCode() const
Retrieve value ("checks" the StatusCode)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
STATUS execute() override
Execute procedure.