Version: 8.3.0
YACS::ENGINE::FakeNodeForLoop Class Reference

#include <Loop.hxx>

Inheritance diagram for YACS::ENGINE::FakeNodeForLoop:
Collaboration diagram for YACS::ENGINE::FakeNodeForLoop:

Private Member Functions

 FakeNodeForLoop (Loop *loop, bool normalFinish, bool internalError=false)
 
 FakeNodeForLoop (const FakeNodeForLoop &other)
 
NodesimpleClone (ComposedNode *father, bool editionOnly) const
 
void exForwardFailed ()
 
void exForwardFinished ()
 
void execute ()
 
void aborted ()
 
void finished ()
 

Private Attributes

Loop_loop
 
bool _normalFinish
 
bool _internalError
 

Friends

class ForLoop
 
class WhileLoop
 

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) throw (Exception)
 
std::list< ElementaryNode * > getRecursiveConstituents () const
 
std::list< ProgressWeightgetProgressWeight () const
 Get the progress weight for all elementary nodes. More...
 
NodegetChildByName (const std::string &name) const throw (Exception)
 
virtual void checkBasicConsistency () const throw (Exception)
 
ComposedNodegetDynClonerIfExists (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)
 
InputPortgetInputPort (const std::string &name) const throw (Exception)
 
OutputPortgetOutputPort (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
 
InputDataStreamPortgetInputDataStreamPort (const std::string &name) const throw (Exception)
 
OutputDataStreamPortgetOutputDataStreamPort (const std::string &name) const throw (Exception)
 
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) throw (Exception)
 
virtual OutputPortedAddOutputPort (const std::string &outputPortName, TypeCode *type) throw (Exception)
 
virtual InputDataStreamPortedAddInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) throw (Exception)
 
virtual OutputDataStreamPortedAddOutputDataStreamPort (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 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
 
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)
 
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)
 
- 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 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 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)
 
- 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)
 
- 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
 
- Static Protected Attributes inherited from YACS::ENGINE::Node
static const char SEP_CHAR_IN_PORT [] ="."
 
static int _total = 0
 

Detailed Description

Definition at line 119 of file Loop.hxx.

Constructor & Destructor Documentation

FakeNodeForLoop::FakeNodeForLoop ( Loop loop,
bool  normalFinish,
bool  internalError = false 
)
private

Definition at line 245 of file Loop.cxx.

References YACS::ENGINE::Node::_father, _loop, YACS::ENGINE::Node::getFather(), YACS::ENGINE::Node::setState(), and YACS::TOACTIVATE.

Referenced by simpleClone().

245  :ElementaryNode("thisIsAFakeNode"),
246  _loop(loop),
247  _normalFinish(normalFinish),
248  _internalError(internalError)
249 {
252 }
FakeNodeForLoop::FakeNodeForLoop ( const FakeNodeForLoop other)
private

Definition at line 254 of file Loop.cxx.

254  :ElementaryNode(other),_loop(0),
255  _normalFinish(false),_internalError(true)
256 {
257 }

Member Function Documentation

void FakeNodeForLoop::aborted ( )
privatevirtual

Reimplemented from YACS::ENGINE::ElementaryNode.

Definition at line 280 of file Loop.cxx.

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

281 {
282  if(_internalError)
284  else
286 }
void FakeNodeForLoop::execute ( )
privatevirtual

Implements YACS::ENGINE::Task.

Definition at line 274 of file Loop.cxx.

References _normalFinish.

275 {
276  if(!_normalFinish)
277  throw Exception("");//only to trigger ABORT on Executor
278 }
void FakeNodeForLoop::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 264 of file Loop.cxx.

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

265 {
267 }
void FakeNodeForLoop::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 269 of file Loop.cxx.

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

270 {
272 }
void FakeNodeForLoop::finished ( )
privatevirtual

Reimplemented from YACS::ENGINE::ElementaryNode.

Definition at line 288 of file Loop.cxx.

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

289 {
291 }
Node * FakeNodeForLoop::simpleClone ( ComposedNode father,
bool  editionOnly 
) const
privatevirtual

Implements YACS::ENGINE::Node.

Definition at line 259 of file Loop.cxx.

References FakeNodeForLoop().

260 {
261  return new FakeNodeForLoop(*this);
262 }

Friends And Related Function Documentation

friend class ForLoop
friend

Definition at line 121 of file Loop.hxx.

friend class WhileLoop
friend

Definition at line 122 of file Loop.hxx.

Member Data Documentation

bool YACS::ENGINE::FakeNodeForLoop::_internalError
private

Definition at line 126 of file Loop.hxx.

Referenced by aborted().

Loop* YACS::ENGINE::FakeNodeForLoop::_loop
private

Definition at line 124 of file Loop.hxx.

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

bool YACS::ENGINE::FakeNodeForLoop::_normalFinish
private

Definition at line 125 of file Loop.hxx.

Referenced by execute().


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