Base class for all calculation nodes. More...
#include <ElementaryNode.hxx>


Public Member Functions | |
| virtual | ~ElementaryNode () |
| void | exUpdateState () |
| Update the node state. More... | |
| void | init (bool start=true) |
| bool | isDeployable () const |
| ComponentInstance * | getComponent () |
| const ComponentInstance * | getComponent () const |
| Container * | getContainer () |
| YACS::StatesForNode | getState () const |
| void | getReadyTasks (std::vector< Task * > &tasks) |
| void | edRemovePort (Port *port) |
| 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 |
| virtual void | checkBasicConsistency () const |
| ComposedNode * | getDynClonerIfExists (const ComposedNode *levelToStop) const |
| int | getNumberOfInputPorts () const |
| int | getNumberOfOutputPorts () const |
| std::string | getInPortName (const InPort *) const |
| std::string | getOutPortName (const OutPort *) const |
| InputPort * | getInputPort (const std::string &name) const |
| OutputPort * | getOutputPort (const std::string &name) const |
| 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 |
| OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const |
| 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) |
| virtual OutputPort * | edAddOutputPort (const std::string &outputPortName, TypeCode *type) |
| virtual InputDataStreamPort * | edAddInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) |
| virtual OutputDataStreamPort * | edAddOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type) |
| virtual void | edOrderInputPorts (const std::list< InputPort * > &ports) |
| virtual void | edOrderOutputPorts (const std::list< OutputPort * > &ports) |
| virtual std::string | typeName () |
| 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 |
| ComplexWeight * | getWeight () |
| void | setWeight (double elementaryWeight) |
| void | getWeightRegardingDPL (ComplexWeight *weight) |
| void | partitionRegardingDPL (const PartDefinition *pd, std::map< ComposedNode *, YACS::BASES::AutoRefCnt< PartDefinition > > &zeMap) |
| 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 | load () |
| 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... | |
| void | accept (Visitor *visitor) |
| virtual void | addDatastreamPortToInitMultiService (const std::string &port_name, int number) |
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... | |
| void | writeDotInFile (const std::string &fileName) const |
| 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 |
| InPropertyPort * | getInPropertyPort () const |
| virtual OutPort * | getOutPort (const std::string &name) const |
| std::list< ComposedNode * > | getAllAscendanceOf (ComposedNode *levelToStop=0) const |
| bool | operator> (const Node &other) const |
| bool | operator< (const Node &other) const |
| std::string | getImplementation () const |
| DynParaLoop * | getClosestDPLAmongAncestors () const |
| virtual ComposedNode * | getRootNode () const |
| 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 void | imposeResource (const std::string &resource_name, const std::string &container_name) |
| virtual bool | canAcceptImposedResource () |
| virtual bool | hasImposedResource () const |
| virtual | ~Task () |
Protected Member Functions | |
| ElementaryNode (const std::string &name) | |
| ElementaryNode (const ElementaryNode &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... | |
| 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 |
| template<class PORT , class ENUMTYPE > | |
| PORT * | edAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) |
| template<class PORT , class ENUMTYPE > | |
| bool | edCheckAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) |
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 () |
Static Protected Member Functions | |
| template<class PORT > | |
| static void | edRemovePortTypedFromSet (PORT *port, std::list< PORT * > &setOfPorts) |
| template<class PORT > | |
| static bool | isPortNameAlreadyExist (const std::string &portName, const std::list< PORT * > &setOfPorts) |
Static Protected Member Functions inherited from YACS::ENGINE::Node | |
| static void | checkValidityOfPortName (const std::string &name) |
| static ComposedNode * | checkHavingCommonFather (Node *node1, Node *node2) |
Protected Attributes | |
| std::list< InputPort * > | _setOfInputPort |
| std::list< OutputPort * > | _setOfOutputPort |
| std::list< InputDataStreamPort * > | _setOfInputDataStreamPort |
| std::list< OutputDataStreamPort * > | _setOfOutputDataStreamPort |
| ComplexWeight | _weight |
| 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 |
| Node * | _eventReceiver =nullptr |
Friends | |
| class | ComposedNode |
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... | |
| static void | checkValidityOfNodeName (const std::string &name) |
Public Attributes inherited from YACS::ENGINE::Node | |
| YACS::Colour | _colour |
Static Public Attributes inherited from YACS::ENGINE::Node | |
| static std::map< int, Node * > | idMap |
Static Protected Attributes inherited from YACS::ENGINE::Node | |
| static const char | SEP_CHAR_IN_PORT [] ="." |
| static int | _total = 0 |
Base class for all calculation nodes.
This is an abstract class that must be specialized.
Definition at line 43 of file ElementaryNode.hxx.
|
protected |
Definition at line 47 of file ElementaryNode.cxx.
References _weight, and YACS::ENGINE::ComplexWeight::setDefaultElementary().
|
protected |
Definition at line 56 of file ElementaryNode.cxx.
References _createDatastreamPorts, _multi_port_node, _setOfInputDataStreamPort, _setOfInputPort, _setOfOutputDataStreamPort, and _setOfOutputPort.
|
virtual |
Definition at line 78 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort, _setOfInputPort, _setOfOutputDataStreamPort, and _setOfOutputPort.
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::FakeNodeForSwitch, YACS::ENGINE::FakeNodeForOptimizerLoop, YACS::ENGINE::FakeNodeForLoop, and YACS::ENGINE::FakeNodeForForEachLoop.
Definition at line 763 of file ElementaryNode.cxx.
References YACS::ERROR, and YACS::ENGINE::Node::setState().
|
virtual |
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::StudyOutNode, YACS::ENGINE::StudyInNode, YACS::ENGINE::PresetNode, YACS::ENGINE::OutNode, YACS::ENGINE::ServiceNode, YACS::ENGINE::ServiceInlineNode, YACS::ENGINE::ServerNode, YACS::ENGINE::InlineFuncNode, and YACS::ENGINE::InlineNode.
Definition at line 795 of file ElementaryNode.cxx.
References YACS::ENGINE::Visitor::visitElementaryNode().
|
inlinevirtual |
Definition at line 134 of file ElementaryNode.hxx.
Referenced by createMultiDatastreamPorts().
|
protected |
checks if all input ports contains a valid data. Used at execution to change the state of the node for activation.
Definition at line 274 of file ElementaryNode.cxx.
References _setOfInputPort.
Referenced by connected(), and exUpdateState().
|
virtual |
Implements YACS::ENGINE::Task.
Definition at line 749 of file ElementaryNode.cxx.
References YACS::ACTIVATED, and YACS::ENGINE::Node::setState().
Referenced by YACS::HMI::SubjectNode::registerUndoDestroy().
|
virtual |
Reimplemented in YACS::ENGINE::StudyOutNode, YACS::ENGINE::StudyInNode, YACS::ENGINE::PyFuncNode, YACS::ENGINE::PythonNode, YACS::ENGINE::PresetNode, YACS::ENGINE::OutNode, and YACS::ENGINE::InlineFuncNode.
Definition at line 577 of file ElementaryNode.cxx.
References _setOfInputPort, and DEBTRACE.
Referenced by YACS::ENGINE::InlineFuncNode::checkBasicConsistency(), YACS::ENGINE::PythonNode::checkBasicConsistency(), and edUpdateState().
|
virtual |
Notify this node that it is connected.
When an elementary node has been connected it goes to TOACTIVATE state It is then ready to be executed
Implements YACS::ENGINE::Task.
Definition at line 784 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_inGate, areAllInputPortsValid(), YACS::ENGINE::InGate::exIsReady(), YACS::LOADED, YACS::ENGINE::Node::setState(), and YACS::TOACTIVATE.
|
inlinevirtual |
|
virtual |
Definition at line 689 of file ElementaryNode.cxx.
References YACS::ENGINE::Runtime::createInputDataStreamPort(), and YACS::ENGINE::getRuntime().
Referenced by edAddInputDataStreamPort().
|
virtual |
Reimplemented in YACS::ENGINE::StudyOutNode, and YACS::ENGINE::OutNode.
Definition at line 593 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_implementation, YACS::ENGINE::Runtime::createInputPort(), and YACS::ENGINE::getRuntime().
Referenced by edAddInputPort().
|
protectedvirtual |
Definition at line 290 of file ElementaryNode.cxx.
References _createDatastreamPorts, _multi_port_node, YACS::ENGINE::Node::_propertyMap, _setOfInputDataStreamPort, _setOfOutputDataStreamPort, addDatastreamPortToInitMultiService(), YACS::ENGINE::InputDataStreamPort::clone(), YACS::ENGINE::OutputDataStreamPort::clone(), YACS::ENGINE::DataPort::getName(), yacsorb.CORBAEngineTest::i, and YACS::ENGINE::DataPort::setName().
Referenced by getReadyTasks().
|
virtual |
Definition at line 706 of file ElementaryNode.cxx.
References YACS::ENGINE::Runtime::createOutputDataStreamPort(), and YACS::ENGINE::getRuntime().
Referenced by edAddOutputDataStreamPort().
|
virtual |
Reimplemented in YACS::ENGINE::StudyInNode, and YACS::ENGINE::PresetNode.
Definition at line 662 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_implementation, YACS::ENGINE::Runtime::createOutputPort(), and YACS::ENGINE::getRuntime().
Referenced by edAddOutputPort().
|
inlinevirtual |
|
virtual |
Definition at line 694 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort, createInputDataStreamPort(), and YACS::ENGINE::Node::modified().
Referenced by YACS::ENGINE::SessionCataLoader::importComponent(), and YACS::HMI::CommandAddIDSPortFromCatalog::localExecute().
|
virtual |
the input port is also published recursively in ancestors because it may be visible from everywhere. WARNING: CHECK CASE OF BLOC: ONLY INPUT PORTS NOT INTERNALLY CONNECTED MUST BE VISIBLE.
Definition at line 603 of file ElementaryNode.cxx.
References _setOfInputPort, createInputPort(), and YACS::ENGINE::Node::modified().
Referenced by YACS::ENGINE::SessionCataLoader::importComponent(), YACS::inlinetypeParser< T >::inport(), and YACS::HMI::CommandAddInputPortFromCatalog::localExecute().
|
virtual |
Definition at line 711 of file ElementaryNode.cxx.
References _setOfOutputDataStreamPort, createOutputDataStreamPort(), and YACS::ENGINE::Node::modified().
Referenced by YACS::ENGINE::SessionCataLoader::importComponent(), and YACS::HMI::CommandAddODSPortFromCatalog::localExecute().
|
virtual |
TO SOLVE : The output port is not published in father. Father must create an output port. for now, publication is done the same way as input ports
Definition at line 672 of file ElementaryNode.cxx.
References _setOfOutputPort, createOutputPort(), and YACS::ENGINE::Node::modified().
Referenced by YACS::ENGINE::SessionCataLoader::importComponent(), YACS::HMI::CommandAddOutputPortFromCatalog::localExecute(), and YACS::inlinetypeParser< T >::outport().
|
protected |
protected: add a port given it's name and type, in a given list of ports WHY TEMPLATE PARAMETER ENUMTYPE?
Definition at line 179 of file ElementaryNode.hxx.
References YACS::ENGINE::Node::checkValidityOfPortName().
|
protected |
Definition at line 193 of file ElementaryNode.hxx.
References YACS::ENGINE::Node::checkValidityOfPortName().
|
protectedvirtual |
Called typically by ComposedNode to correctly update DF/CF/DS links
Reimplemented from YACS::ENGINE::Node.
Definition at line 249 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort, _setOfInputPort, _setOfOutputDataStreamPort, _setOfOutputPort, and YACS::ENGINE::Node::edDisconnectAllLinksWithMe().
Referenced by YACS::ENGINE::DFToDSForLoop::~DFToDSForLoop(), and YACS::ENGINE::DSToDFForLoop::~DSToDFForLoop().
|
virtual |
Definition at line 628 of file ElementaryNode.cxx.
References _setOfInputPort.
Referenced by YACS::HMI::CommandOrderInputPorts::localExecute(), and YACS::HMI::CommandOrderInputPorts::localReverse().
|
virtual |
Definition at line 645 of file ElementaryNode.cxx.
References _setOfOutputPort.
Referenced by YACS::HMI::CommandOrderOutputPorts::localExecute(), and YACS::HMI::CommandOrderOutputPorts::localReverse().
| void ElementaryNode::edRemovePort | ( | Port * | port | ) |
remove port from node at edition. Ports are typed.
Definition at line 523 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort, _setOfInputPort, _setOfOutputDataStreamPort, _setOfOutputPort, DEBTRACE, YACS::ENGINE::Port::getNode(), YACS::ENGINE::Node::modified(), and p.
Referenced by YACS::HMI::SubjectDataPort::~SubjectDataPort().
|
staticprotected |
|
virtual |
update the status of the node
Only useful when editing a schema Do nothing in base Node : to implement in derived classes
Reimplemented from YACS::ENGINE::Node.
Definition at line 809 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_errorDetails, YACS::ENGINE::Node::_modified, YACS::ENGINE::Node::_state, checkBasicConsistency(), DEBTRACE, YACS::ENGINE::Node::getName(), YACS::INVALID, YACS::READY, YACS::ENGINE::Node::setState(), yacsorb.CORBAEngineTest::state, and YACS::Exception::what().
|
virtual |
Put this node into TOLOAD state when possible.
Can be called by another ElementaryNode that is connected to this one by a datastream link These 2 nodes must be loaded at the same time as they are coupled It's the other node which requests this node loading
Reimplemented from YACS::ENGINE::Node.
Definition at line 835 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort, _setOfOutputDataStreamPort, YACS::ENGINE::Node::_state, DEBTRACE, YACS::ENGINE::OutputDataStreamPort::edSetInPort(), YACS::ENGINE::InPort::edSetOutPort(), YACS::ENGINE::Node::ensureLoading(), YACS::ENGINE::Node::getName(), YACS::READY, YACS::ENGINE::Node::setState(), and YACS::TOLOAD.
Referenced by exUpdateState().
|
virtual |
Update the node state.
Called by InGate::exNotifyFromPrecursor
Reimplemented from YACS::ENGINE::Node.
Definition at line 136 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_errorDetails, YACS::ENGINE::Node::_inGate, YACS::ENGINE::Node::_name, YACS::ENGINE::Node::_state, areAllInputPortsValid(), DEBTRACE, YACS::DISABLED, ensureLoading(), YACS::ENGINE::InGate::exIsReady(), YACS::ENGINE::Node::getName(), YACS::INTERNALERR, YACS::LOADED, YACS::READY, YACS::ENGINE::Node::setState(), and YACS::TOACTIVATE.
Referenced by getReadyTasks().
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::FakeNodeForSwitch, YACS::ENGINE::FakeNodeForOptimizerLoop, YACS::ENGINE::FakeNodeForLoop, and YACS::ENGINE::FakeNodeForForEachLoop.
Definition at line 759 of file ElementaryNode.cxx.
References YACS::DONE, and YACS::ENGINE::Node::setState().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 195 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::getSetOfInPort().
Referenced by getSetOfLinksComingInCurrentScope().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 182 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::getSetOfOutPort().
Referenced by getSetOfLinksLeavingCurrentScope().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 571 of file ElementaryNode.cxx.
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::ServiceNode.
Definition at line 116 of file ElementaryNode.cxx.
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::ServiceNode.
Definition at line 121 of file ElementaryNode.cxx.
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::ServiceNode, and YACS::ENGINE::InlineNode.
Definition at line 126 of file ElementaryNode.cxx.
Referenced by getReadyTasks().
|
virtual |
Put all nodes that are coupled to this node in coupledSet.
Reimplemented from YACS::ENGINE::Node.
Definition at line 877 of file ElementaryNode.cxx.
References _setOfOutputDataStreamPort, YACS::ENGINE::OutputDataStreamPort::edSetInPort(), and YACS::ENGINE::Node::getCoupledNodes().
Referenced by getCoupledTasks().
|
virtual |
Calls getCoupledNodes for Task interface.
Implements YACS::ENGINE::Task.
Definition at line 871 of file ElementaryNode.cxx.
References getCoupledNodes().
| ComposedNode * ElementaryNode::getDynClonerIfExists | ( | const ComposedNode * | levelToStop | ) | const |
|
virtual |
Give a description of error when node status is ERROR.
Definition at line 804 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_errorDetails.
Referenced by YACS::ENGINE::DistributedPythonNode::dealException(), and YACS::ENGINE::SalomeNode::execute().
|
virtual |
get the input port name used by the current node (see composed nodes)
Implements YACS::ENGINE::Node.
Definition at line 727 of file ElementaryNode.cxx.
References YACS::ENGINE::DataPort::getName(), YACS::ENGINE::Node::getName(), and YACS::ENGINE::Port::getNode().
|
virtual |
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::DSToDFForLoop.
Definition at line 239 of file ElementaryNode.cxx.
References _setOfInputDataStreamPort.
Referenced by getReadyTasks(), and YACS::HMI::CommandAddIDSPortFromCatalog::localReverse().
|
virtual |
Reimplemented from YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::DFToDSForLoop, and YACS::ENGINE::SplitterNode.
Definition at line 168 of file ElementaryNode.cxx.
References _setOfInputPort, and YACS::ENGINE::Node::getInputPort().
Referenced by YACS::ENGINE::SplitterNode::getInputPort(), getReadyTasks(), YACS::HMI::CommandOrderInputPorts::localExecute(), YACS::HMI::CommandAddInputPortFromCatalog::localReverse(), YACS::HMI::CommandOrderInputPorts::localReverse(), and YACS::ENGINE::portParser::onEnd().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 85 of file ElementaryNode.hxx.
Referenced by YACS::HMI::SubjectElementaryNode::loadChildren().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 86 of file ElementaryNode.hxx.
Referenced by YACS::HMI::SubjectElementaryNode::loadChildren().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::InlineNode.
Definition at line 110 of file ElementaryNode.hxx.
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 158 of file ElementaryNode.cxx.
References _setOfInputPort.
Referenced by YACS::ENGINE::DistributedPythonNode::execute(), YACS::ENGINE::SalomePythonNode::execute(), YACS::ENGINE::PyFuncNode::executeLocal(), and YACS::ENGINE::PyFuncNode::executeRemote().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 163 of file ElementaryNode.cxx.
References _setOfOutputPort.
Referenced by YACS::ENGINE::DistributedPythonNode::execute(), YACS::ENGINE::SalomePythonNode::execute(), YACS::ENGINE::XmlNode::execute(), YACS::ENGINE::PyFuncNode::executeLocal(), YACS::ENGINE::PythonNode::executeRemote(), and YACS::ENGINE::PyFuncNode::executeRemote().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 738 of file ElementaryNode.cxx.
References YACS::ENGINE::DataPort::getName(), YACS::ENGINE::Node::getName(), and YACS::ENGINE::Port::getNode().
|
virtual |
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::DFToDSForLoop.
Definition at line 244 of file ElementaryNode.cxx.
References _setOfOutputDataStreamPort.
Referenced by getReadyTasks(), and YACS::HMI::CommandAddODSPortFromCatalog::localReverse().
|
virtual |
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::DSToDFForLoop.
Definition at line 177 of file ElementaryNode.cxx.
References _setOfOutputPort.
Referenced by YACS::HMI::CommandOrderOutputPorts::localExecute(), YACS::HMI::CommandAddOutputPortFromCatalog::localReverse(), and YACS::HMI::CommandOrderOutputPorts::localReverse().
|
protected |
protected: get a port in a list given it's name
Definition at line 160 of file ElementaryNode.hxx.
|
virtual |
Get the progress weight for all elementary nodes.
Only elementary nodes have weight. At this stage weight is 0 or 1 (it can be modified later following the kind of father)
Implements YACS::ENGINE::Node.
Definition at line 558 of file ElementaryNode.cxx.
References YACS::DONE, getState(), YACS::ENGINE::ProgressWeight::weightDone, and YACS::ENGINE::ProgressWeight::weightTotal.
|
virtual |
add this node task to a given set of ready tasks, if this task is ready to activate
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::DSToDFForLoop, and YACS::ENGINE::DFToDSForLoop.
Definition at line 362 of file ElementaryNode.cxx.
References YACS::ENGINE::InPort::_backLinks, YACS::ENGINE::Node::_father, YACS::ENGINE::Node::_propertyMap, YACS::ENGINE::OutputDataStreamPort::_setOfInputDataStreamPort, _setOfOutputPort, YACS::ENGINE::Node::_state, YACS::ENGINE::Node::clone(), createMultiDatastreamPorts(), DEBTRACE, YACS::ENGINE::ComposedNode::edAddDFLink(), YACS::ENGINE::ComposedNode::edAddLink(), YACS::ENGINE::InGate::exNotifyFromPrecursor(), exUpdateState(), YACS::ENGINE::InGate::getBackLinks(), YACS::ENGINE::InputDataStreamPort::getConnectedOutputDataStreamPort(), getContainer(), YACS::ENGINE::Node::getInGate(), getInputDataStreamPort(), getInputPort(), YACS::ENGINE::Node::getName(), getOutputDataStreamPort(), YACS::ENGINE::Node::getProc(), getSetOfInputDataStreamPort(), getSetOfInputPort(), getSetOfOutputDataStreamPort(), yacsorb.CORBAEngineTest::i, init(), YACS::ENGINE::Node::setName(), YACS::ENGINE::Container::setProperty(), YACS::TOACTIVATE, YACS::TOLOAD, and YACS::TORECONNECT.
Referenced by YACS::ENGINE::ForEachLoopGen::getReadyTasks(), YACS::ENGINE::Loop::getReadyTasks(), YACS::ENGINE::OptimizerLoop::getReadyTasks(), and YACS::ENGINE::Switch::getReadyTasks().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 546 of file ElementaryNode.cxx.
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 91 of file ElementaryNode.hxx.
Referenced by getReadyTasks(), and YACS::HMI::SubjectElementaryNode::loadChildren().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 83 of file ElementaryNode.hxx.
Referenced by getReadyTasks(), YACS::HMI::CommandOrderInputPorts::localExecute(), YACS::HMI::CommandOrderInputPorts::localReverse(), YACS::HMI::TablePortsEdition::on_pb_insert_clicked(), YACS::HMI::EditionPyFunc::onTemplate(), YACS::HMI::SubjectDataPort::registerUndoDestroy(), YACS::HMI::SchemaNodeItem::update(), YACS::ENGINE::VisitorSaveState::visitElementaryNode(), YACS::ENGINE::VisitorSaveSalomeSchema::writeOutNodeParameters(), and YACS::ENGINE::VisitorSaveSalomeSchema::writeStudyOutNodeParameters().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 221 of file ElementaryNode.cxx.
References getAllInPortsComingFromOutsideOfCurrentScope().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 208 of file ElementaryNode.cxx.
References getAllOutPortsLeavingCurrentScope().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 92 of file ElementaryNode.hxx.
Referenced by getReadyTasks(), and YACS::HMI::SubjectElementaryNode::loadChildren().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 84 of file ElementaryNode.hxx.
Referenced by YACS::HMI::CommandOrderOutputPorts::localExecute(), YACS::HMI::CommandOrderOutputPorts::localReverse(), YACS::HMI::TablePortsEdition::on_pb_insert_clicked(), YACS::HMI::EditionPyFunc::onTemplate(), YACS::HMI::SubjectDataPort::registerUndoDestroy(), YACS::HMI::SchemaNodeItem::update(), YACS::ENGINE::VisitorSaveState::visitElementaryNode(), YACS::ENGINE::VisitorSaveSalomeSchema::writeDataNodeParameters(), and YACS::ENGINE::VisitorSaveSalomeSchema::writeStudyInNodeParameters().
|
virtual |
Reimplemented from YACS::ENGINE::Node.
Definition at line 131 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::getState().
Referenced by getProgressWeight(), YACS::ENGINE::VisitorSaveState::visitElementaryNode(), YACS::ENGINE::VisitorSaveSchema::visitInlineFuncNode(), YACS::ENGINE::VisitorSaveSchema::visitInlineNode(), YACS::ENGINE::VisitorSaveSalomeSchema::visitOutNode(), YACS::ENGINE::VisitorSaveSalomeSchema::visitPresetNode(), YACS::ENGINE::VisitorSaveSchema::visitServerNode(), YACS::ENGINE::VisitorSaveSchema::visitServiceInlineNode(), YACS::ENGINE::VisitorSaveSchema::visitServiceNode(), YACS::ENGINE::VisitorSaveSalomeSchema::visitStudyInNode(), and YACS::ENGINE::VisitorSaveSalomeSchema::visitStudyOutNode().
|
inline |
Definition at line 111 of file ElementaryNode.hxx.
Referenced by YACS::ENGINE::VisitorSaveSchema::visitInlineFuncNode(), and YACS::ENGINE::VisitorSaveSchema::visitInlineNode().
|
inlinevirtual |
Implements YACS::ENGINE::Node.
Definition at line 113 of file ElementaryNode.hxx.
References YACS::ENGINE::ComplexWeight::addWeight().
|
virtual |
initialisation of all input and output ports and gates, for execution
Reimplemented from YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::PyFuncNode, and YACS::ENGINE::SplitterNode.
Definition at line 99 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_state, DEBTRACE, YACS::DISABLED, YACS::ENGINE::Node::exDisabledState(), YACS::ENGINE::Node::getName(), initCommonPartWithoutStateManagement(), YACS::READY, and YACS::ENGINE::Node::setState().
Referenced by getReadyTasks(), and YACS::ENGINE::SplitterNode::init().
|
protected |
Definition at line 90 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_inGate, _setOfInputPort, _setOfOutputPort, and YACS::ENGINE::InGate::exReset().
Referenced by init(), and YACS::ENGINE::PyFuncNode::init().
|
inlinevirtual |
|
virtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::ServiceNode, YACS::ENGINE::ServerNode, and YACS::ENGINE::InlineNode.
Definition at line 111 of file ElementaryNode.cxx.
|
staticprotected |
protected: checks existence of a port, given it's name, in a list
Definition at line 226 of file ElementaryNode.hxx.
|
virtual |
Implements YACS::ENGINE::Task.
Definition at line 754 of file ElementaryNode.cxx.
References YACS::ENGINE::Node::_state, and YACS::TOACTIVATE.
|
inlinevirtual |
Implements YACS::ENGINE::Task.
Reimplemented in YACS::ENGINE::XmlNode, YACS::ENGINE::SalomePythonNode, YACS::ENGINE::PyFuncNode, YACS::ENGINE::PythonNode, YACS::ENGINE::DistributedPythonNode, YACS::ENGINE::CppNode, YACS::ENGINE::ServiceNode, YACS::ENGINE::ServerNode, YACS::ENGINE::DSToDFForLoop, and YACS::ENGINE::DFToDSForLoop.
Definition at line 127 of file ElementaryNode.hxx.
|
virtual |
Notify this node that it is loaded.
When an elementary node has been loaded It is ready to be connected
Implements YACS::ENGINE::Task.
Definition at line 774 of file ElementaryNode.cxx.
|
inlinevirtual |
|
protectedvirtual |
performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute.
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::ServiceNode, and YACS::ENGINE::InlineNode.
Definition at line 70 of file ElementaryNode.cxx.
|
protectedvirtual |
performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning.
Implements YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::ServiceNode, and YACS::ENGINE::InlineNode.
Definition at line 74 of file ElementaryNode.cxx.
| void ElementaryNode::setWeight | ( | double | elementaryWeight | ) |
Definition at line 897 of file ElementaryNode.cxx.
References _weight, and YACS::ENGINE::ComplexWeight::setElementaryWeight().
Referenced by YACS::inlinetypeParser< T >::function(), YACS::remotetypeParser< T >::function(), and YACS::remotetypeParser< T >::script().
|
inlinevirtual |
Reimplemented from YACS::ENGINE::Node.
Reimplemented in YACS::ENGINE::StudyOutNode, YACS::ENGINE::StudyInNode, YACS::ENGINE::PyFuncNode, YACS::ENGINE::PythonNode, YACS::ENGINE::PresetNode, YACS::ENGINE::DistributedPythonNode, YACS::ENGINE::SalomeNode, YACS::ENGINE::CORBANode, YACS::ENGINE::ServiceNode, YACS::ENGINE::ServiceInlineNode, YACS::ENGINE::ServerNode, YACS::ENGINE::InlineFuncNode, YACS::ENGINE::InlineNode, and YACS::ENGINE::DataNode.
Definition at line 106 of file ElementaryNode.hxx.
|
friend |
Definition at line 45 of file ElementaryNode.hxx.
|
protected |
Definition at line 54 of file ElementaryNode.hxx.
Referenced by createMultiDatastreamPorts(), and ElementaryNode().
|
protected |
Definition at line 55 of file ElementaryNode.hxx.
Referenced by createMultiDatastreamPorts(), and ElementaryNode().
|
protected |
Definition at line 49 of file ElementaryNode.hxx.
Referenced by createMultiDatastreamPorts(), YACS::ENGINE::DSToDFForLoop::DSToDFForLoop(), edAddInputDataStreamPort(), edDisconnectAllLinksWithMe(), edRemovePort(), ElementaryNode(), ensureLoading(), getInputDataStreamPort(), YACS::ENGINE::DSToDFForLoop::getInputDataStreamPort(), and ~ElementaryNode().
|
protected |
Definition at line 47 of file ElementaryNode.hxx.
Referenced by areAllInputPortsValid(), checkBasicConsistency(), YACS::ENGINE::OutNode::checkBasicConsistency(), YACS::ENGINE::PresetNode::checkBasicConsistency(), YACS::ENGINE::StudyInNode::checkBasicConsistency(), YACS::ENGINE::StudyOutNode::checkBasicConsistency(), YACS::ENGINE::CppNode::cloneNode(), YACS::ENGINE::PythonNode::cloneNode(), YACS::ENGINE::PyFuncNode::cloneNode(), YACS::ENGINE::SalomePythonNode::cloneNode(), YACS::ENGINE::DFToDSForLoop::DFToDSForLoop(), YACS::ENGINE::OutNode::dump(), edAddInputPort(), edDisconnectAllLinksWithMe(), edOrderInputPorts(), edRemovePort(), ElementaryNode(), YACS::ENGINE::CORBANode::execute(), YACS::ENGINE::SalomeNode::execute(), YACS::ENGINE::CppNode::execute(), YACS::ENGINE::DistributedPythonNode::execute(), YACS::ENGINE::SalomePythonNode::execute(), YACS::ENGINE::StudyOutNode::execute(), YACS::ENGINE::XmlNode::execute(), YACS::ENGINE::PythonNode::executeLocal(), YACS::ENGINE::PyFuncNode::executeLocal(), YACS::ENGINE::PythonNode::executeRemote(), YACS::ENGINE::PyFuncNode::executeRemote(), getInputPort(), YACS::ENGINE::DFToDSForLoop::getInputPort(), getNumberOfInputPorts(), initCommonPartWithoutStateManagement(), YACS::ENGINE::PythonNode::squeezeMemory(), YACS::ENGINE::PythonNode::squeezeMemoryRemote(), and ~ElementaryNode().
|
protected |
Definition at line 50 of file ElementaryNode.hxx.
Referenced by createMultiDatastreamPorts(), YACS::ENGINE::DFToDSForLoop::DFToDSForLoop(), edAddOutputDataStreamPort(), edDisconnectAllLinksWithMe(), edRemovePort(), ElementaryNode(), ensureLoading(), getCoupledNodes(), getOutputDataStreamPort(), YACS::ENGINE::DFToDSForLoop::getOutputDataStreamPort(), and ~ElementaryNode().
|
protected |
Definition at line 48 of file ElementaryNode.hxx.
Referenced by YACS::ENGINE::OutNode::checkBasicConsistency(), YACS::ENGINE::PresetNode::checkBasicConsistency(), YACS::ENGINE::StudyInNode::checkBasicConsistency(), YACS::ENGINE::StudyOutNode::checkBasicConsistency(), YACS::ENGINE::CppNode::cloneNode(), YACS::ENGINE::PythonNode::cloneNode(), YACS::ENGINE::PyFuncNode::cloneNode(), YACS::ENGINE::SalomePythonNode::cloneNode(), YACS::ENGINE::DSToDFForLoop::DSToDFForLoop(), edAddOutputPort(), edDisconnectAllLinksWithMe(), edOrderOutputPorts(), edRemovePort(), ElementaryNode(), YACS::ENGINE::CORBANode::execute(), YACS::ENGINE::SalomeNode::execute(), YACS::ENGINE::CppNode::execute(), YACS::ENGINE::DistributedPythonNode::execute(), YACS::ENGINE::PresetNode::execute(), YACS::ENGINE::SalomePythonNode::execute(), YACS::ENGINE::StudyInNode::execute(), YACS::ENGINE::XmlNode::execute(), YACS::ENGINE::PythonNode::executeLocal(), YACS::ENGINE::PyFuncNode::executeLocal(), YACS::ENGINE::PythonNode::executeRemote(), YACS::ENGINE::PyFuncNode::executeRemote(), getNumberOfOutputPorts(), getOutputPort(), YACS::ENGINE::DSToDFForLoop::getOutputPort(), getReadyTasks(), initCommonPartWithoutStateManagement(), YACS::ENGINE::SalomePythonNode::load(), YACS::ENGINE::PyFuncNode::loadLocal(), YACS::ENGINE::PythonNode::squeezeMemory(), YACS::ENGINE::PythonNode::squeezeMemoryRemote(), and ~ElementaryNode().
|
protected |
Definition at line 51 of file ElementaryNode.hxx.
Referenced by ElementaryNode(), and setWeight().