Version: 9.15.0
YACS::ENGINE::FakeNodeForSwitch Class Reference

#include <Switch.hxx>

Inheritance diagram for YACS::ENGINE::FakeNodeForSwitch:
Collaboration diagram for YACS::ENGINE::FakeNodeForSwitch:

Private Member Functions

 FakeNodeForSwitch (Switch *sw, bool normalFinish, bool internalError=false)
 
 FakeNodeForSwitch (const FakeNodeForSwitch &other)
 
NodesimpleClone (ComposedNode *father, bool editionOnly) const
 
void exForwardFailed ()
 
void exForwardFinished ()
 
void execute ()
 
void aborted ()
 
void finished ()
 

Private Attributes

Switch_sw
 
bool _normalFinish
 
bool _internalError
 

Friends

class Switch
 

Additional Inherited Members

- Public Member Functions inherited from YACS::ENGINE::ElementaryNode
virtual ~ElementaryNode ()
 
void exUpdateState ()
 Update the node state. More...
 
void init (bool start=true)
 
bool isDeployable () const
 
ComponentInstancegetComponent ()
 
const ComponentInstancegetComponent () const
 
ContainergetContainer ()
 
YACS::StatesForNode getState () const
 
void getReadyTasks (std::vector< Task * > &tasks)
 
void edRemovePort (Port *port)
 
std::list< ElementaryNode * > getRecursiveConstituents () const
 
std::list< ProgressWeightgetProgressWeight () const
 Get the progress weight for all elementary nodes. More...
 
NodegetChildByName (const std::string &name) const
 
virtual void checkBasicConsistency () const
 
ComposedNodegetDynClonerIfExists (const ComposedNode *levelToStop) const
 
int getNumberOfInputPorts () const
 
int getNumberOfOutputPorts () const
 
std::string getInPortName (const InPort *) const
 
std::string getOutPortName (const OutPort *) const
 
InputPortgetInputPort (const std::string &name) const
 
OutputPortgetOutputPort (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
 
InputDataStreamPortgetInputDataStreamPort (const std::string &name) const
 
OutputDataStreamPortgetOutputDataStreamPort (const std::string &name) const
 
virtual InputPortcreateInputPort (const std::string &inputPortName, TypeCode *type)
 
virtual OutputPortcreateOutputPort (const std::string &outputPortName, TypeCode *type)
 
virtual InputDataStreamPortcreateInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type)
 
virtual OutputDataStreamPortcreateOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type)
 
virtual InputPortedAddInputPort (const std::string &inputPortName, TypeCode *type)
 
virtual OutputPortedAddOutputPort (const std::string &outputPortName, TypeCode *type)
 
virtual InputDataStreamPortedAddInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type)
 
virtual OutputDataStreamPortedAddOutputDataStreamPort (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
 
ComplexWeightgetWeight ()
 
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 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...
 
Nodeclone (ComposedNode *father, bool editionOnly=true) const
 This method MUST NEVER BE VIRTUAL More...
 
NodecloneWithoutCompAndContDeepCpy (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...
 
InGategetInGate ()
 
OutGategetOutGate ()
 
const std::string & getName () const
 
void setName (const std::string &name)
 Change the name of the node. More...
 
ComposedNodegetFather () 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...
 
InPortgetInPort (const std::string &name) const
 
InPropertyPortgetInPropertyPort () const
 
virtual OutPortgetOutPort (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
 
DynParaLoopgetClosestDPLAmongAncestors () const
 
virtual ComposedNodegetRootNode () 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 ProcgetProc ()
 
virtual const ProcgetProc () 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 imposeResource (const std::string &resource_name, const std::string &container_name)
 
virtual bool canAcceptImposedResource ()
 
virtual bool hasImposedResource () const
 
virtual ~Task ()
 
- 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
 
- Protected Member Functions inherited from YACS::ENGINE::ElementaryNode
 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)
 
- Static Protected Member Functions inherited from YACS::ENGINE::ElementaryNode
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 ComposedNodecheckHavingCommonFather (Node *node1, Node *node2)
 
- Protected Attributes inherited from YACS::ENGINE::ElementaryNode
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
 
- Static Protected Attributes inherited from YACS::ENGINE::Node
static const char SEP_CHAR_IN_PORT [] ="."
 
static int _total = 0
 

Detailed Description

Definition at line 66 of file Switch.hxx.

Constructor & Destructor Documentation

◆ FakeNodeForSwitch() [1/2]

FakeNodeForSwitch::FakeNodeForSwitch ( Switch sw,
bool  normalFinish,
bool  internalError = false 
)
private

Definition at line 230 of file Switch.cxx.

230  :ElementaryNode("thisIsAFakeNode"),
231  _sw(sw),
232  _normalFinish(normalFinish),
233  _internalError(internalError)
234 {
236  _father=_sw->getFather();
237 }
ComposedNode * _father
Definition: Node.hxx:90
friend class ElementaryNode
Definition: Node.hxx:80
ComposedNode * getFather() const
Definition: Node.hxx:127
YACS::StatesForNode _state
Definition: Node.hxx:91
@ TOACTIVATE
Definition: define.hxx:40

References YACS::ENGINE::Node::_father, YACS::ENGINE::Node::_state, _sw, YACS::ENGINE::Node::getFather(), and YACS::TOACTIVATE.

Referenced by simpleClone().

◆ FakeNodeForSwitch() [2/2]

FakeNodeForSwitch::FakeNodeForSwitch ( const FakeNodeForSwitch other)
private

Definition at line 239 of file Switch.cxx.

239  :ElementaryNode(other),_sw(0),
240  _normalFinish(false),
241  _internalError(true)
242 {
243 }

Member Function Documentation

◆ aborted()

void FakeNodeForSwitch::aborted ( )
privatevirtual

Reimplemented from YACS::ENGINE::ElementaryNode.

Definition at line 266 of file Switch.cxx.

267 {
268  if(_internalError)
270  else
272 }
void setState(YACS::StatesForNode theState)
Sets the given state for node.
Definition: Node.cxx:652
@ INTERNALERR
Definition: define.hxx:49
@ ERROR
Definition: define.hxx:52

References _internalError, YACS::ENGINE::Node::_state, _sw, YACS::ERROR, YACS::INTERNALERR, and YACS::ENGINE::Node::setState().

◆ execute()

void FakeNodeForSwitch::execute ( )
privatevirtual

Implements YACS::ENGINE::Task.

Definition at line 260 of file Switch.cxx.

261 {
262  if(!_normalFinish)
263  throw Exception("");//only to trigger ABORT on Executor
264 }

References _normalFinish.

◆ exForwardFailed()

void FakeNodeForSwitch::exForwardFailed ( )
privatevirtual

Called typically by Bloc to notify failure on potentially next nodes on the same scope of 'this'

Reimplemented from YACS::ENGINE::Node.

Definition at line 250 of file Switch.cxx.

251 {
252  _sw->exForwardFailed();
253 }
virtual void exForwardFailed()
Definition: Node.cxx:378

References _sw, and YACS::ENGINE::Node::exForwardFailed().

◆ exForwardFinished()

void FakeNodeForSwitch::exForwardFinished ( )
privatevirtual

Called typically by Bloc to activate potentially next nodes on the same scope of 'this'

Reimplemented from YACS::ENGINE::Node.

Definition at line 255 of file Switch.cxx.

256 {
258 }
virtual void exForwardFinished()
Definition: Node.cxx:386

References _sw, and YACS::ENGINE::Node::exForwardFinished().

◆ finished()

void FakeNodeForSwitch::finished ( )
privatevirtual

Reimplemented from YACS::ENGINE::ElementaryNode.

Definition at line 274 of file Switch.cxx.

275 {
277 }
@ DONE
Definition: define.hxx:43

References _sw, YACS::DONE, and YACS::ENGINE::Node::setState().

◆ simpleClone()

Node * FakeNodeForSwitch::simpleClone ( ComposedNode father,
bool  editionOnly 
) const
privatevirtual

Implements YACS::ENGINE::Node.

Definition at line 245 of file Switch.cxx.

246 {
247  return new FakeNodeForSwitch(*this);
248 }
FakeNodeForSwitch(Switch *sw, bool normalFinish, bool internalError=false)
Definition: Switch.cxx:230

References FakeNodeForSwitch().

Friends And Related Function Documentation

◆ Switch

friend class Switch
friend

Definition at line 68 of file Switch.hxx.

Member Data Documentation

◆ _internalError

bool YACS::ENGINE::FakeNodeForSwitch::_internalError
private

Definition at line 72 of file Switch.hxx.

Referenced by aborted().

◆ _normalFinish

bool YACS::ENGINE::FakeNodeForSwitch::_normalFinish
private

Definition at line 71 of file Switch.hxx.

Referenced by execute().

◆ _sw

Switch* YACS::ENGINE::FakeNodeForSwitch::_sw
private

Definition at line 70 of file Switch.hxx.

Referenced by aborted(), exForwardFailed(), exForwardFinished(), FakeNodeForSwitch(), and finished().


The documentation for this class was generated from the following files: