Version: 8.3.0
YACS::ENGINE::SalomeProc Class Reference

#include <SalomeProc.hxx>

Inheritance diagram for YACS::ENGINE::SalomeProc:
Collaboration diagram for YACS::ENGINE::SalomeProc:

Public Member Functions

 SalomeProc (const std::string &name)
 
virtual ~SalomeProc ()
 
virtual TypeCodecreateInterfaceTc (const std::string &id, const std::string &name, std::list< TypeCodeObjref * > ltc)
 Create an object reference TypeCode. More...
 
virtual TypeCodecreateStructTc (const std::string &id, const std::string &name)
 
virtual std::string typeName ()
 
virtual void saveSchema (std::string xmlSchemaFile)
 Save Proc in XML schema file. More...
 
virtual int getDefaultStudyId ()
 Get the default study id for the proc. More...
 
virtual void init (bool start=true)
 Initialise the proc. More...
 
- Public Member Functions inherited from YACS::ENGINE::Proc
 Proc (const std::string &name)
 
virtual ~Proc ()
 
virtual TypeCodecreateType (const std::string &name, const std::string &kind)
 
virtual TypeCodecreateSequenceTc (const std::string &id, const std::string &name, TypeCode *content)
 Create a sequence TypeCode. More...
 
virtual TypeCodegetTypeCode (const std::string &name)
 
virtual void setTypeCode (const std::string &name, TypeCode *t)
 
virtual ContainercreateContainer (const std::string &name, const std::string &kind="")
 Create a new Container and store it in containerMap. More...
 
virtual ComponentInstancecreateComponentInstance (const std::string &componame, const std::string &name="", const std::string &kind="")
 Create a new ComponentInstance and add it into componentInstanceMap. More...
 
virtual void addComponentInstance (ComponentInstance *inst, const std::string &name="", bool resetCtr=false)
 Add a ComponentInstance into componentInstanceMap. More...
 
virtual void removeComponentInstance (ComponentInstance *inst)
 Remove a componentInstance from the componentInstanceMap. More...
 
virtual void removeContainer (Container *cont)
 Remove a container from the containerMap. More...
 
virtual void accept (Visitor *visitor)
 
virtual ProcgetProc ()
 Return the proc (this) More...
 
virtual const ProcgetProc () const
 Return the proc (this) More...
 
virtual void updateContainersAndComponents ()
 
YACS::StatesForNode getNodeState (int numId)
 
std::string getNodeProgress (int numId)
 
int getGlobalProgressPercent ()
 
std::string getInPortValue (int nodeNumId, std::string portName)
 
std::string setInPortValue (std::string nodeName, std::string portName, std::string value)
 
std::string getOutPortValue (int nodeNumId, std::string portName)
 
std::string getNodeErrorDetails (int nodeNumId)
 
std::string getNodeErrorReport (int nodeNumId)
 
std::string getNodeContainerLog (int nodeNumId)
 
std::string getXMLState (int numId)
 
std::list< int > getNumIds ()
 
std::list< std::string > getIds ()
 
virtual LoggergetLogger (const std::string &name)
 
virtual void writeDot (std::ostream &os) const
 Dump to the input stream a dot representation of the node. More...
 
void setName (const std::string &name)
 
virtual bool getEdition ()
 
virtual void setEdition (bool edition)
 
virtual void modified ()
 Sets Proc in modified state and update state if in edition mode. More...
 
virtual void saveSchema (const std::string &xmlSchemaFile)
 Save Proc in XML schema file. More...
 
virtual void saveState (const std::string &xmlStateFile)
 Save Proc state in XML state file. More...
 
- Public Member Functions inherited from YACS::ENGINE::Bloc
 Bloc (const Bloc &other, ComposedNode *father, bool editionOnly)
 
 Bloc (const std::string &name)
 Create a Bloc node with a given name. More...
 
virtual ~Bloc ()
 
bool isFinished ()
 Indicate if the bloc execution is finished. More...
 
int getNumberOfCFLinks () const
 
void getReadyTasks (std::vector< Task * > &tasks)
 Collect all nodes that are ready to execute. More...
 
void exUpdateState ()
 Update the bloc state. More...
 
bool edAddChild (Node *DISOWNnode) throw (Exception)
 Add a child node to the bloc. More...
 
void edRemoveChild (Node *node) throw (Exception)
 
std::list< Node * > getChildren () const
 
std::list< Node * > edGetDirectDescendants () const
 
std::vector< std::list< Node * > > splitIntoIndependantGraph () const
 
NodegetChildByShortName (const std::string &name) const throw (Exception)
 
template<bool direction>
void findAllPathsStartingFrom (Node *start, std::list< std::vector< Node * > > &vec, std::map< Node *, std::set< Node * > > &accelStr) const
 
template<bool direction>
void findAllNodesStartingFrom (Node *start, std::set< Node * > &result, std::map< Node *, std::set< Node * > > &accelStr, LinkInfo &info) const
 
int getMaxLevelOfParallelism () const
 
void removeRecursivelyRedundantCL ()
 
template<bool direction>
unsigned appendIfAlreadyFound (std::list< std::vector< Node * > > &res, const std::vector< Node * > &startRes, Node *node, std::map< Node *, std::set< Node * > > &fastFinder)
 
- Public Member Functions inherited from YACS::ENGINE::StaticDefinedComposedNode
bool isPlacementPredictableB4Run () const
 
bool isMultiplicitySpecified (unsigned &value) const
 
void forceMultiplicity (unsigned value)
 
void selectRunnableTasks (std::vector< Task * > &tasks)
 
- Public Member Functions inherited from YACS::ENGINE::ComposedNode
virtual ~ComposedNode ()
 
bool isFinished ()
 
virtual void shutdown (int level)
 Stop all pending activities of the composed node. More...
 
virtual void resetState (int level)
 Reset the state of the node and its children depending on the parameter level. More...
 
std::string getName () const
 
std::string getTaskName (Task *task) const
 
DeploymentTree getDeploymentTree () const
 Essentially for test. Use checkDeploymentTree instead to be sure that returned DeploymentTree is consistent. More...
 
DeploymentTree checkDeploymentTree (bool deep) const throw (Exception)
 Perform check of deployment consistency of the current graph. More...
 
std::vector< Task * > getNextTasks (bool &isMore)
 
void notifyFrom (const Task *sender, YACS::Event event, const Executor *execInst)
 Notify the node a task has emitted an event. More...
 
bool edAddLink (OutPort *start, InPort *end) throw (Exception)
 Add a dataflow link between two data ports. More...
 
virtual bool edAddDFLink (OutPort *start, InPort *end) throw (Exception)
 Connect an OutPort to an InPort and add the necessary control link. More...
 
bool edAddLink (OutGate *start, InGate *end) throw (Exception)
 Add a controlflow link between two control ports. More...
 
bool edAddCFLink (Node *nodeS, Node *nodeE) throw (Exception)
 Add a controlflow link between two nodes. More...
 
void edRemoveCFLink (Node *nodeS, Node *nodeE) throw (Exception)
 Remove a controlflow link. More...
 
void edRemoveLink (OutPort *start, InPort *end) throw (Exception)
 Remove a dataflow link. More...
 
void edRemoveLink (OutGate *start, InGate *end) throw (Exception)
 Remove a controlflow link. More...
 
virtual bool isRepeatedUnpredictablySeveralTimes () const
 
std::list< ElementaryNode * > getRecursiveConstituents () const
 
std::list< Node * > getAllRecursiveNodes ()
 Get all children nodes elementary and composed including this node. More...
 
virtual std::list< Node * > getAllRecursiveConstituents ()
 Idem getAllRecursiveNodes, but this node is NOT included. More...
 
std::list< ProgressWeightgetProgressWeight () const
 Get the progress weight for all elementary nodes. More...
 
std::string getInPortName (const InPort *) const throw (Exception)
 Get the input port name. More...
 
std::string getOutPortName (const OutPort *) const throw (Exception)
 
int getNumberOfInputPorts () const
 
int getNumberOfOutputPorts () const
 
std::list< InputPort * > getSetOfInputPort () const
 
std::list< OutputPort * > getSetOfOutputPort () const
 
std::list< InputPort * > getLocalInputPorts () const
 redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More...
 
std::list< OutputPort * > getLocalOutputPorts () const
 redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More...
 
std::set< OutPort * > getAllOutPortsLeavingCurrentScope () const
 List all output ports of children nodes that are linked to out of scope input ports. More...
 
std::set< InPort * > getAllInPortsComingFromOutsideOfCurrentScope () const
 List all input ports that are linked to out of scope ports. More...
 
std::list< InputDataStreamPort * > getSetOfInputDataStreamPort () const
 
std::list< OutputDataStreamPort * > getSetOfOutputDataStreamPort () const
 
OutPortgetOutPort (const std::string &name) const throw (Exception)
 
InputPortgetInputPort (const std::string &name) const throw (Exception)
 Get an input port given its name. More...
 
OutputPortgetOutputPort (const std::string &name) const throw (Exception)
 Get an output port given its name. More...
 
InputDataStreamPortgetInputDataStreamPort (const std::string &name) const throw (Exception)
 
OutputDataStreamPortgetOutputDataStreamPort (const std::string &name) const throw (Exception)
 
std::vector< std::pair
< OutPort *, InPort * > > 
getSetOfInternalLinks () const
 
virtual std::vector< std::pair
< OutPort *, InPort * > > 
getSetOfLinksLeavingCurrentScope () const
 
void checkConsistency (LinkInfo &info) const throw (Exception)
 
virtual std::vector< std::pair
< InPort *, OutPort * > > 
getSetOfLinksComingInCurrentScope () const
 
virtual void edUpdateState ()
 update the status of the node More...
 
virtual void checkBasicConsistency () const throw (Exception)
 
virtual std::string getErrorReport ()
 returns a string that contains an error report if the node is in error More...
 
ComposedNodegetRootNode () const throw (Exception)
 
bool isNodeAlreadyAggregated (const Node *node) const
 Check that Node 'node' is already a direct son of this. More...
 
NodeisInMyDescendance (Node *nodeToTest) const
 Returns the parent of a node that is the direct child of this node. More...
 
std::string getChildName (const Node *node) const throw (Exception)
 
virtual std::string getMyQualifiedName (const Node *directSon) const
 
NodegetChildByName (const std::string &name) const throw (Exception)
 
void loaded ()
 
void connected ()
 
virtual void cleanNodes ()
 Clean the composed node in case of not clean exit. More...
 
virtual std::string getProgress () const
 
- Public Member Functions inherited from YACS::ENGINE::Node
virtual ~Node ()
 
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 getState () const
 
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 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 throw (Exception)
 
InPropertyPortgetInPropertyPort () 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 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)
 
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 int isModified ()
 
virtual int isValid ()
 indicates if the node is valid (returns 1) or not (returns 0) More...
 
virtual std::string getContainerLog ()
 returns a string that contains the name of the container log file if it exists More...
 
virtual void ensureLoading ()
 Put this node into TOLOAD state when possible. More...
 
virtual void getCoupledNodes (std::set< Task * > &coupledNodes)
 
- Public Member Functions inherited from YACS::ENGINE::Scheduler
virtual ~Scheduler ()
 

Additional Inherited Members

- Public Types inherited from YACS::ENGINE::Proc
typedef std::map< std::string,
Logger * > 
LoggerMap
 
- Static Public Member Functions inherited from YACS::ENGINE::ComposedNode
static ComposedNodegetLowestCommonAncestor (Node *node1, Node *node2) throw (Exception)
 Retrieves the lowest common ancestor of 2 nodes. More...
 
static std::string getLowestCommonAncestorStr (const std::string &node1, const std::string &node2)
 
- Public Attributes inherited from YACS::ENGINE::Proc
std::map< std::string, Node * > nodeMap
 
std::map< std::string,
ServiceNode * > 
serviceMap
 
std::map< std::string,
InlineNode * > 
inlineMap
 
std::map< std::string, TypeCode * > typeMap
 
std::map< std::string,
Container * > 
containerMap
 
std::map< std::string,
ComponentInstance * > 
componentInstanceMap
 
std::vector< std::string > names
 
LoggerMap _loggers
 
- Static Public Attributes inherited from YACS::ENGINE::Node
static std::map< int, Node * > idMap
 
- Protected Member Functions inherited from YACS::ENGINE::Proc
void removeContainers ()
 
- Static Protected Member Functions inherited from YACS::ENGINE::Bloc
static void verdictForOkAndUseless1 (const std::map< Node *, std::list< OutPort * > > &pool, InputPort *end, const std::vector< Node * > &candidates, unsigned char &alreadyFed, bool direction, LinkInfo &info)
 
static void verdictForCollapses (const std::map< Node *, std::list< OutPort * > > &pool, InputPort *end, const std::set< Node * > &candidates, unsigned char &alreadyFed, bool direction, LinkInfo &info)
 
- Protected Attributes inherited from YACS::ENGINE::Proc
bool _edition
 
int _compoinstctr
 
- Static Protected Attributes inherited from YACS::ENGINE::ComposedNode
static const char SEP_CHAR_BTW_LEVEL [] ="."
 
static const unsigned char FED_ST = 2
 
static const unsigned char FREE_ST = 0
 
static const unsigned char FED_DS_ST = 1
 

Detailed Description

Definition at line 36 of file SalomeProc.hxx.

Constructor & Destructor Documentation

SalomeProc::SalomeProc ( const std::string &  name)

Definition at line 32 of file SalomeProc.cxx.

References YACS::ENGINE::Proc::createContainer(), YACS::ENGINE::RefCounter::decrRef(), and YACS::ENGINE::Container::setProperty().

32  :Proc(name)
33 {
34  // create default container with some default properties
35  Container* cont=createContainer("DefaultContainer");
36  cont->setProperty("name", "localhost");
37  cont->setProperty("container_name","FactoryServer");
38  cont->decrRef();
39 }
SalomeProc::~SalomeProc ( )
virtual

Definition at line 57 of file SalomeProc.cxx.

58 {
59 }

Member Function Documentation

TypeCode * SalomeProc::createInterfaceTc ( const std::string &  id,
const std::string &  name,
std::list< TypeCodeObjref * >  ltc 
)
virtual

Create an object reference TypeCode.

Parameters
id,:the TypeCode repository id
name,:the TypeCode name
ltc,:a liste of object reference TypeCode to use as base types for this type
Returns
the created TypeCode

Reimplemented from YACS::ENGINE::Proc.

Definition at line 41 of file SalomeProc.cxx.

References YACS::ENGINE::Proc::createInterfaceTc().

43 {
44  std::string myName;
45  if(id == "") myName = "IDL:" + name + ":1.0";
46  else myName = id;
47  return Proc::createInterfaceTc(myName,name,ltc);
48 }
TypeCode * SalomeProc::createStructTc ( const std::string &  id,
const std::string &  name 
)
virtual

Reimplemented from YACS::ENGINE::Proc.

Definition at line 49 of file SalomeProc.cxx.

References YACS::ENGINE::Proc::createStructTc().

50 {
51  std::string myName;
52  if(id == "") myName = "IDL:" + name + ":1.0";
53  else myName = id;
54  return Proc::createStructTc(myName,name);
55 }
int SalomeProc::getDefaultStudyId ( )
virtual

Get the default study id for the proc.

Returns
the study id

Definition at line 77 of file SalomeProc.cxx.

References YACS::ENGINE::Node::getProperty().

78 {
79  std::string value=getProperty("DefaultStudyID");
80  if(value.empty())
81  return 1;
82  else
83  return atoi(value.c_str());
84 }
void SalomeProc::init ( bool  start = true)
virtual

Initialise the proc.

Reimplemented from YACS::ENGINE::Bloc.

Definition at line 87 of file SalomeProc.cxx.

References YACS::ENGINE::Node::getProperty(), and YACS::ENGINE::Bloc::init().

88 {
89  std::string value=getProperty("DefaultStudyID");
90  if(!value.empty())
91  {
92  //initialise Python module salome with the study id given by value
93  std::string cmd="import salome;salome.salome_init("+value+")";
94  PyGILState_STATE gstate = PyGILState_Ensure(); // acquire the Global Interpreter Lock
95  PyRun_SimpleString(cmd.c_str());
96  PyGILState_Release(gstate); // Release the Global Interpreter Lock
97  }
98  Proc::init(start);
99 }
void SalomeProc::saveSchema ( std::string  xmlSchemaFile)
virtual

Save Proc in XML schema file.

Parameters
xmlSchemaFile,:the file name

Definition at line 65 of file SalomeProc.cxx.

References YACS::ENGINE::Proc::accept(), YACS::ENGINE::VisitorSaveSchema::closeFileSchema(), and YACS::ENGINE::VisitorSaveSchema::openFileSchema().

66 {
67  VisitorSaveSalomeSchema vss(this);
68  vss.openFileSchema(xmlSchemaFile);
69  accept(&vss);
70  vss.closeFileSchema();
71 }
virtual std::string YACS::ENGINE::SalomeProc::typeName ( )
inlinevirtual

Reimplemented from YACS::ENGINE::Proc.

Definition at line 44 of file SalomeProc.hxx.

44 {return "YACS__ENGINE__SalomeProc";}

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