Class for calculation node associated with a component service. More...
#include <ServiceNode.hxx>
Public Member Functions | |
virtual void | load () |
Load the component associated to the node. More... | |
virtual bool | isDeployable () const |
By definition of ServiceNode class. More... | |
virtual void | setComponent (ComponentInstance *compo) throw (Exception) |
Associate an existing component instance to this service node AND check the consistency regarding the deployment from root node point of view. More... | |
virtual ComponentInstance * | getComponent () |
Return the associated component instance. More... | |
virtual const ComponentInstance * | getComponent () const |
virtual Container * | getContainer () |
Return the associated container. More... | |
virtual void | setRef (const std::string &ref) |
Associate a new component instance to this service node. More... | |
virtual std::string | getRef () |
virtual void | setMethod (const std::string &method) |
virtual std::string | getMethod () |
virtual ServiceNode * | createNode (const std::string &name)=0 |
virtual | ~ServiceNode () |
virtual void | accept (Visitor *visitor) |
virtual std::string | getKind () const |
Return the service node kind. More... | |
virtual std::string | typeName () |
Public Member Functions inherited from YACS::ENGINE::ElementaryNode | |
virtual | ~ElementaryNode () |
void | exUpdateState () |
Update the node state. More... | |
void | init (bool start=true) |
YACS::StatesForNode | getState () const |
void | getReadyTasks (std::vector< Task * > &tasks) |
void | edRemovePort (Port *port) throw (Exception) |
std::list< ElementaryNode * > | getRecursiveConstituents () const |
std::list< ProgressWeight > | getProgressWeight () const |
Get the progress weight for all elementary nodes. More... | |
Node * | getChildByName (const std::string &name) const throw (Exception) |
virtual void | checkBasicConsistency () const throw (Exception) |
ComposedNode * | getDynClonerIfExists (const ComposedNode *levelToStop) const |
int | getNumberOfInputPorts () const |
int | getNumberOfOutputPorts () const |
std::string | getInPortName (const InPort *) const throw (Exception) |
std::string | getOutPortName (const OutPort *) const throw (Exception) |
InputPort * | getInputPort (const std::string &name) const throw (Exception) |
OutputPort * | getOutputPort (const std::string &name) const throw (Exception) |
std::list< InputPort * > | getSetOfInputPort () const |
std::list< OutputPort * > | getSetOfOutputPort () const |
std::list< InputPort * > | getLocalInputPorts () const |
std::list< OutputPort * > | getLocalOutputPorts () const |
std::set< OutPort * > | getAllOutPortsLeavingCurrentScope () const |
std::set< InPort * > | getAllInPortsComingFromOutsideOfCurrentScope () const |
virtual std::vector< std::pair < OutPort *, InPort * > > | getSetOfLinksLeavingCurrentScope () const |
virtual std::vector< std::pair < InPort *, OutPort * > > | getSetOfLinksComingInCurrentScope () const |
std::list< InputDataStreamPort * > | getSetOfInputDataStreamPort () const |
std::list< OutputDataStreamPort * > | getSetOfOutputDataStreamPort () const |
InputDataStreamPort * | getInputDataStreamPort (const std::string &name) const throw (Exception) |
OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const throw (Exception) |
virtual InputPort * | createInputPort (const std::string &inputPortName, TypeCode *type) |
virtual OutputPort * | createOutputPort (const std::string &outputPortName, TypeCode *type) |
virtual InputDataStreamPort * | createInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) |
virtual OutputDataStreamPort * | createOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type) |
virtual InputPort * | edAddInputPort (const std::string &inputPortName, TypeCode *type) throw (Exception) |
virtual OutputPort * | edAddOutputPort (const std::string &outputPortName, TypeCode *type) throw (Exception) |
virtual InputDataStreamPort * | edAddInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) throw (Exception) |
virtual OutputDataStreamPort * | edAddOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type) throw (Exception) |
virtual void | edOrderInputPorts (const std::list< InputPort * > &ports) |
virtual void | edOrderOutputPorts (const std::list< OutputPort * > &ports) |
virtual void | edUpdateState () |
update the status of the node More... | |
virtual void | ensureLoading () |
Put this node into TOLOAD state when possible. More... | |
int | getMaxLevelOfParallelism () const |
void | begin () |
bool | isReady () |
void | finished () |
void | aborted () |
void | loaded () |
Notify this node that it is loaded. More... | |
void | connected () |
Notify this node that it is connected. More... | |
virtual std::string | getErrorDetails () |
Give a description of error when node status is ERROR. More... | |
virtual void | initService () |
virtual void | connectService () |
virtual void | disconnectService () |
virtual void | getCoupledTasks (std::set< Task * > &coupledSet) |
Calls getCoupledNodes for Task interface. More... | |
virtual void | getCoupledNodes (std::set< Task * > &coupledSet) |
Put all nodes that are coupled to this node in coupledSet. More... | |
virtual void | addDatastreamPortToInitMultiService (const std::string &port_name, int number) |
template<class PORT > | |
void | edRemovePortTypedFromSet (PORT *port, std::list< PORT * > &setOfPorts) throw (Exception) |
template<class PORT > | |
bool | isPortNameAlreadyExist (const std::string &portName, const std::list< PORT * > &setOfPorts) |
Public Member Functions inherited from YACS::ENGINE::Node | |
virtual | ~Node () |
virtual void | shutdown (int level) |
Stop all pending activities of the node. More... | |
virtual void | resetState (int level) |
Reset the node state depending on the parameter level. More... | |
Node * | clone (ComposedNode *father, bool editionOnly=true) const |
This method MUST NEVER BE VIRTUAL More... | |
Node * | cloneWithoutCompAndContDeepCpy (ComposedNode *father, bool editionOnly=true) const |
This method MUST NEVER BE VIRTUAL More... | |
void | setState (YACS::StatesForNode theState) |
Sets the given state for node. More... | |
virtual YACS::StatesForNode | getEffectiveState () const |
Return the node state in the context of its father. More... | |
virtual YACS::StatesForNode | getEffectiveState (const Node *) const |
Return the effective state of a node in the context of this one (its father) More... | |
std::string | getColorState (YACS::StatesForNode state) const |
Return the color associated to a state. More... | |
InGate * | getInGate () |
OutGate * | getOutGate () |
const std::string & | getName () const |
void | setName (const std::string &name) |
Change the name of the node. More... | |
ComposedNode * | getFather () const |
const std::string | getId () const |
bool | exIsControlReady () const |
std::list< Node * > | getOutNodes () const |
virtual void | writeDot (std::ostream &os) const |
Dump to the input stream a dot representation of the node. More... | |
virtual void | exFailedState () |
Notify this node that its execution has failed. More... | |
virtual void | exDisabledState () |
Notify this node that it has been disabled. More... | |
std::list< InPort * > | getSetOfInPort () const |
std::list< OutPort * > | getSetOfOutPort () const |
virtual std::set< InputPort * > | edGetSetOfUnitializedInputPort () const |
Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
virtual bool | edAreAllInputPortInitialized () const |
Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
InPort * | getInPort (const std::string &name) const throw (Exception) |
InPropertyPort * | getInPropertyPort () const throw (Exception) |
virtual OutPort * | getOutPort (const std::string &name) const throw (Exception) |
std::list< ComposedNode * > | getAllAscendanceOf (ComposedNode *levelToStop=0) const |
bool | operator> (const Node &other) const |
bool | operator< (const Node &other) const |
std::string | getImplementation () const |
virtual ComposedNode * | getRootNode () const throw (Exception) |
virtual void | setProperty (const std::string &name, const std::string &value) |
virtual std::string | getProperty (const std::string &name) |
std::map< std::string, std::string > | getProperties () |
std::map< std::string, std::string > | getPropertyMap () |
virtual void | setProperties (std::map< std::string, std::string > properties) |
virtual Proc * | getProc () |
virtual const Proc * | getProc () const |
std::string | getQualifiedName () const |
same as Node::getName() in most cases, but differs for children of switch More... | |
int | getNumId () |
return node instance identifiant, unique for each node instance More... | |
std::vector< std::pair < std::string, int > > | getDPLScopeInfo (ComposedNode *gfn) |
virtual void | applyDPLScope (ComposedNode *gfn) |
virtual void | sendEvent (const std::string &event) |
emit notification to all observers registered with the dispatcher More... | |
virtual void | sendEvent2 (const std::string &event, void *something) |
emit notification to all observers registered with the dispatcher More... | |
virtual std::string | getErrorDetails () const |
virtual void | setErrorDetails (const std::string &error) |
virtual void | modified () |
Sets Node in modified state and its father if it exists. More... | |
virtual int | isModified () |
virtual int | isValid () |
indicates if the node is valid (returns 1) or not (returns 0) More... | |
virtual std::string | getErrorReport () |
returns a string that contains an error report if the node is in error More... | |
virtual std::string | getContainerLog () |
returns a string that contains the name of the container log file if it exists More... | |
virtual void | cleanNodes () |
Clean the node in case of not clean exit. More... | |
Public Member Functions inherited from YACS::ENGINE::Task | |
virtual void | execute ()=0 |
virtual | ~Task () |
Static Public Attributes | |
static const char | KIND [] ="" |
Protected Member Functions | |
ServiceNode (const std::string &name) | |
ServiceNode (const ServiceNode &other, ComposedNode *father) | |
void | performDuplicationOfPlacement (const Node &other) |
performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute. More... | |
void | performShallowDuplicationOfPlacement (const Node &other) |
performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning. More... | |
Protected Member Functions inherited from YACS::ENGINE::ElementaryNode | |
ElementaryNode (const std::string &name) | |
ElementaryNode (const ElementaryNode &other, ComposedNode *father) | |
void | initCommonPartWithoutStateManagement (bool start) |
virtual void | createMultiDatastreamPorts () |
void | edDisconnectAllLinksWithMe () |
bool | areAllInputPortsValid () const |
template<class PORT > | |
PORT * | getPort (const std::string &name, const std::list< PORT * > &setOfPorts) const throw (Exception) |
template<class PORT , class ENUMTYPE > | |
PORT * | edAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) throw (Exception) |
template<class PORT , class ENUMTYPE > | |
bool | edCheckAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) throw (Exception) |
Protected Member Functions inherited from YACS::ENGINE::Node | |
Node (const std::string &name) | |
Node (const Node &other, ComposedNode *father) | |
virtual Node * | simpleClone (ComposedNode *father, bool editionOnly=true) const =0 |
virtual void | exForwardFailed () |
virtual void | exForwardFinished () |
Protected Attributes | |
ComponentInstance * | _component |
std::string | _method |
std::string | _ref |
Protected Attributes inherited from YACS::ENGINE::ElementaryNode | |
std::list< InputPort * > | _setOfInputPort |
std::list< OutputPort * > | _setOfOutputPort |
std::list< InputDataStreamPort * > | _setOfInputDataStreamPort |
std::list< OutputDataStreamPort * > | _setOfOutputDataStreamPort |
bool | _createDatastreamPorts |
bool | _multi_port_node |
Protected Attributes inherited from YACS::ENGINE::Node | |
InGate | _inGate |
OutGate | _outGate |
InPropertyPort * | _inPropertyPort |
std::string | _name |
ComposedNode * | _father |
YACS::StatesForNode | _state |
int | _modified |
std::string | _errorDetails |
int | _numId |
std::string | _implementation |
std::map< std::string, std::string > | _propertyMap |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::Node | |
static std::string | getStateName (YACS::StatesForNode state) |
Return the name of a state. More... | |
Public Attributes inherited from YACS::ENGINE::Node | |
YACS::Colour | _colour |
Static Protected Member Functions inherited from YACS::ENGINE::ElementaryNode | |
template<class PORT > | |
static void | edRemovePortTypedFromSet (PORT *port, std::list< PORT * > &setOfPorts) throw (Exception) |
template<class PORT > | |
static bool | isPortNameAlreadyExist (const std::string &portName, const std::list< PORT * > &setOfPorts) |
Static Protected Attributes inherited from YACS::ENGINE::Node | |
static const char | SEP_CHAR_IN_PORT [] ="." |
static int | _total = 0 |
Class for calculation node associated with a component service.
Definition at line 34 of file ServiceNode.hxx.
|
protected |
Definition at line 55 of file ServiceNode.cxx.
|
protected |
Definition at line 59 of file ServiceNode.cxx.
|
virtual |
Definition at line 83 of file ServiceNode.cxx.
References _component, and YACS::ENGINE::RefCounter::decrRef().
|
virtual |
Reimplemented from YACS::ENGINE::ElementaryNode.
Reimplemented in YACS::ENGINE::ServiceInlineNode.
Definition at line 116 of file ServiceNode.cxx.
References YACS::ENGINE::Visitor::visitServiceNode().
|
pure virtual |
Implemented in YACS::ENGINE::SalomeNode, YACS::ENGINE::CppNode, YACS::ENGINE::CORBANode, YACS::ENGINE::SalomePythonNode, and YACS::ENGINE::XmlNode.
Referenced by YACS::servicetypeParser< T >::node().
|
virtual |
Return the associated component instance.
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 122 of file ServiceNode.cxx.
References _component.
Referenced by YACS::HMI::EditionSalomeNode::changeContainer(), YACS::HMI::EditionSalomeNode::changeInstance(), YACS::HMI::EditionSalomeNode::fillComponentPanel(), YACS::HMI::EditionSalomeNode::fillContainerPanel(), YACS::HMI::CommandAddNodeFromCatalog::localExecute(), YACS::HMI::CommandAddComponentFromCatalog::localExecute(), YACS::HMI::EditionSalomeNode::onCancel(), YACS::HMI::SubjectNode::registerUndoDestroy(), YACS::HMI::SubjectServiceNode::setComponent(), YACS::ENGINE::VisitorSaveSchema::visitServiceInlineNode(), YACS::ENGINE::VisitorSaveSchema::visitServiceNode(), and YACS::HMI::SubjectServiceNode::~SubjectServiceNode().
|
virtual |
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 127 of file ServiceNode.cxx.
References _component.
|
virtual |
Return the associated container.
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 133 of file ServiceNode.cxx.
References _component, and YACS::ENGINE::ComponentInstance::getContainer().
Referenced by YACS::HMI::EditionSalomeNode::EditionSalomeNode().
|
virtual |
Return the service node kind.
A runtime can provide several implementations of a service node. Each implementation has a different kind. A ComponentInstance can be associated to a ServiceNode with the same kind.
Reimplemented in YACS::ENGINE::SalomeNode, YACS::ENGINE::CppNode, YACS::ENGINE::CORBANode, YACS::ENGINE::SalomePythonNode, and YACS::ENGINE::XmlNode.
Definition at line 50 of file ServiceNode.cxx.
References KIND.
Referenced by setRef(), and YACS::ENGINE::VisitorSaveSchema::visitServiceNode().
|
inlinevirtual |
Definition at line 51 of file ServiceNode.hxx.
Referenced by YACS::HMI::EditionSalomeNode::EditionSalomeNode(), YACS::ENGINE::VisitorSaveSchema::visitServiceInlineNode(), and YACS::ENGINE::VisitorSaveSchema::visitServiceNode().
|
virtual |
Definition at line 206 of file ServiceNode.cxx.
References _ref.
Referenced by YACS::ENGINE::VisitorSaveSchema::visitServiceNode().
|
virtual |
By definition of ServiceNode class.
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 140 of file ServiceNode.cxx.
|
virtual |
Load the component associated to the node.
Reimplemented from YACS::ENGINE::ElementaryNode.
Reimplemented in YACS::ENGINE::CppNode, YACS::ENGINE::SalomePythonNode, and YACS::ENGINE::XmlNode.
Definition at line 90 of file ServiceNode.cxx.
References _component, YACS::ENGINE::Node::_errorDetails, YACS::ENGINE::Node::_name, YACS::ENGINE::ComponentInstance::isLoaded(), YACS::ENGINE::ComponentInstance::load(), and YACS::Exception::what().
Referenced by YACS::ENGINE::SalomePythonNode::load(), and YACS::ENGINE::CppNode::load().
|
protectedvirtual |
performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute.
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 64 of file ServiceNode.cxx.
References _component, and YACS::ENGINE::ComponentInstance::clone().
|
protectedvirtual |
performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning.
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 72 of file ServiceNode.cxx.
References _component, and YACS::ENGINE::RefCounter::incrRef().
|
virtual |
Associate an existing component instance to this service node AND check the consistency regarding the deployment from root node point of view.
Definition at line 146 of file ServiceNode.cxx.
References DEBTRACE, YACS::ENGINE::RefCounter::decrRef(), and YACS::ENGINE::ComponentInstance::getCompoName().
Referenced by YACS::ENGINE::DynParaLoop::cloneAndPlaceNodesCoherently(), YACS::ENGINE::SalomeHPComponent::createNode(), YACS::ENGINE::SalomePythonComponent::createNode(), YACS::ENGINE::SalomeComponent::createNode(), YACS::ENGINE::SalomePythonNode::createNode(), YACS::ENGINE::CORBAComponent::createNode(), YACS::ENGINE::CORBANode::createNode(), YACS::ENGINE::CppNode::createNode(), YACS::ENGINE::CppComponent::createNode(), YACS::ENGINE::SalomeNode::createNode(), YACS::inlinetypeParser< T >::function(), and YACS::HMI::CommandAddNodeFromCatalog::localExecute().
|
inlinevirtual |
Definition at line 50 of file ServiceNode.hxx.
Referenced by YACS::ENGINE::SalomePythonNode::cloneNode(), YACS::inlinetypeParser< T >::function(), and YACS::ENGINE::SessionCataLoader::importComponent().
|
virtual |
Associate a new component instance to this service node.
A new component instance with type name ref is created (from runtime factory createComponentInstance) and associated to the node.
Reimplemented in YACS::ENGINE::XmlNode.
Definition at line 193 of file ServiceNode.cxx.
References _component, _ref, YACS::ENGINE::Runtime::createComponentInstance(), YACS::ENGINE::RefCounter::decrRef(), getKind(), YACS::ENGINE::getRuntime(), gui.CONNECTOR::ref(), and YASSERT.
Referenced by YACS::ENGINE::SessionCataLoader::importComponent(), and YACS::ENGINE::CppNode::load().
|
inlinevirtual |
Reimplemented from YACS::ENGINE::ElementaryNode.
Reimplemented in YACS::ENGINE::SalomeNode, YACS::ENGINE::CORBANode, and YACS::ENGINE::ServiceInlineNode.
Definition at line 56 of file ServiceNode.hxx.
|
protected |
Definition at line 60 of file ServiceNode.hxx.
Referenced by YACS::ENGINE::CppNode::cloneNode(), YACS::ENGINE::SalomePythonNode::createNode(), YACS::ENGINE::CORBANode::createNode(), YACS::ENGINE::CppNode::createNode(), YACS::ENGINE::SalomeNode::createNode(), YACS::ENGINE::CORBANode::execute(), YACS::ENGINE::CppNode::execute(), YACS::ENGINE::SalomeNode::execute(), getComponent(), getContainer(), YACS::ENGINE::SalomeNode::getContainerLog(), load(), YACS::ENGINE::SalomePythonNode::load(), YACS::ENGINE::CppNode::load(), performDuplicationOfPlacement(), performShallowDuplicationOfPlacement(), YACS::ENGINE::CppNode::setFunc(), setRef(), YACS::ENGINE::SalomeNode::shutdown(), and ~ServiceNode().
|
protected |
Definition at line 61 of file ServiceNode.hxx.
Referenced by YACS::ENGINE::SalomePythonNode::cloneNode(), YACS::ENGINE::CppNode::cloneNode(), YACS::ENGINE::XmlNode::execute(), YACS::ENGINE::CORBANode::execute(), YACS::ENGINE::CppNode::execute(), YACS::ENGINE::SalomeNode::execute(), YACS::ENGINE::SalomePythonNode::load(), YACS::ENGINE::CppNode::setCode(), and YACS::ENGINE::CppNode::setFunc().
|
protected |
Definition at line 62 of file ServiceNode.hxx.
Referenced by YACS::ENGINE::XmlNode::execute(), YACS::ENGINE::SalomeNode::execute(), getRef(), YACS::ENGINE::XmlNode::setRef(), setRef(), and YACS::ENGINE::XmlNode::XmlNode().
|
static |
Definition at line 58 of file ServiceNode.hxx.
Referenced by getKind().