109 std::string what(
"ServiceNode::load : a load operation requested on ServiceNode called \"");
110 what+=
_name; what+=
"\" with no component specified.";
148 DEBTRACE(
"ServiceNode::setComponent " << compo);
155 std::string what(
"ServiceNode::setComponent : component instance kind not allowed ");
161 std::string oldref=
_ref;
#define YASSERT(val)
YASSERT macro is always defined, used like assert, but throw a YACS::Exception instead of abort.
Base class for all component instances.
virtual ComponentInstance * clone() const =0
virtual std::string getKindForNode() const
virtual bool isLoaded(Task *askingNode) const =0
Indicate if the component instance is loaded (true) or not.
Container * getContainer() const
const std::string & getCompoName() const
const std::string & getInstanceName() const
virtual void load(Task *askingNode)=0
Load the component instance.
Base class for all composed nodes.
DeploymentTree checkDeploymentTree(bool deep) const
Perform check of deployment consistency of the current graph.
Base class for all calculation nodes.
Base class for all nodes.
virtual ComposedNode * getRootNode() const
std::string _errorDetails
virtual ComponentInstance * createComponentInstance(const std::string &name, const std::string &kind="")
Class for calculation node associated with a component service.
virtual std::string getKind() const
Return the service node kind.
virtual void setRef(const std::string &ref)
Associate a new component instance to this service node.
ServiceNode(const std::string &name)
virtual Container * getContainer()
Return the associated container.
void performDuplicationOfPlacement(const Node &other)
performs a duplication of placement using clone method of containers and components....
virtual void load()
Load the component associated to the node.
ComponentInstance * _component
virtual void setComponent(ComponentInstance *compo)
Associate an existing component instance to this service node AND check the consistency regarding the...
virtual std::string getRef()
virtual ComponentInstance * getComponent()
Return the associated component instance.
virtual void accept(Visitor *visitor)
void performShallowDuplicationOfPlacement(const Node &other)
performs a also duplication of placement but here containers and components are not copied at all wha...
virtual bool isDeployable() const
By definition of ServiceNode class.
virtual void visitServiceNode(ServiceNode *node)=0
const char * what(void) const noexcept
YACSLIBENGINE_EXPORT Runtime * getRuntime()
def ref(target, callback=None)