Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/superv.git] / src / GraphExecutor / DataFlowExecutor_DataFlow.hxx
1 #ifndef _DATAFLOWEXECUTOR_DATAFLOW_HXX
2 #define _DATAFLOWEXECUTOR_DATAFLOW_HXX
3
4 #include "DataFlowExecutor_OutNode.hxx"
5
6 namespace GraphExecutor {
7
8   class DataFlow : public GraphExecutor::OutNode {
9     
10     private :
11
12       SALOME_NamingService* _theNamingService ;
13
14     public:
15
16       DataFlow();
17       DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
18                 const char * DataFlowName ,
19                 const char * DebugFileName );
20       DataFlow( CORBA::ORB_ptr ORB, SALOME_NamingService* ptrNamingService ,
21                 const SALOME_ModuleCatalog::Service& DataFlowService ,
22                 const char *DataFlowComponentName ,
23                 const char *DataFlowInterfaceName ,
24                 const char *DataFlowName ,
25                 const SUPERV::KindOfNode DataFlowkind = SUPERV::ComputingNode ,
26                 const SUPERV::SDate DataFlowFirstCreation = SUPERV::SDate() ,
27                 const SUPERV::SDate DataFlowLastModification = SUPERV::SDate() ,
28                 const char * DataFlowEditorRelease = NULL ,
29                 const char * DataFlowAuthor = NULL ,
30                 const char * DataFlowComputer = NULL ,
31                 const char * DataFlowComment = NULL ,
32                 const char * DebugFileName = NULL ) ;
33       virtual ~DataFlow();
34
35       bool LoadDataFlow( const GraphBase::SGraph &aDataFlow ) ;
36       bool LoadXml( const char* myFileName ) ;
37
38       const SALOME_ModuleCatalog::Service * NodeService( const char * NodeName ) ;
39
40       bool ChangeInputData( const char* ToNodeName ,
41                             const char* ToParameterName ,
42                             const CORBA::Any aValue = CORBA::Any() ) ;
43       bool AddInputSharedData( const char* ToNodeName1 ,
44                                const char* ToParameterName1 ,
45                                const char* ToNodeName2 ,
46                                const char* ToParameterName2 ) ;
47
48       bool IsValid() ;
49       bool IsExecutable() ;
50
51       bool Run( const bool AndSuspend ) ;
52       bool Run( const char * aNodeName ,
53                 const char * AtNodeName , const bool AndSuspend ) ;
54
55       long LastLevelDone() ;
56
57       SUPERV::GraphState State() ;
58       SUPERV::GraphState State(const char * aNodeName ) ;
59       SUPERV::GraphState State( const char * aNodeName ,
60                                  const char * anOutServiceParameterName ) ;
61
62       long Thread() ;
63       long Thread(const char * aNodeName ) ;
64
65       SUPERV::AutomatonState AutomatonState() ;
66       SUPERV::AutomatonState AutomatonState(const char * aNodeName ) ;
67
68       SUPERV::ControlState ControlState() ;
69       SUPERV::ControlState ControlState(const char * aNodeName ) ;
70       void ControlClear() ;
71       void ControlClear(const char * aNodeName ) ;
72
73       bool Event( char ** aNodeName ,
74                   SUPERV::GraphEvent & anEvent ,
75                   SUPERV::GraphState & aState ,
76                   bool WithWait = true ) ;
77       bool EventW( char ** aNodeName ,
78                    SUPERV::GraphEvent & anEvent ,
79                    SUPERV::GraphState & aState ) ;
80
81       bool IsWaiting() ;
82       bool IsReady() ;
83       bool IsRunning() ;
84       bool IsDone() ;
85       bool IsSuspended() ;
86       bool IsWaiting(const char * aNodeName ) ;
87       bool IsReady(const char * aNodeName ) ;
88       bool IsRunning(const char * aNodeName ) ;
89       bool IsDone(const char * aNodeName ) ;
90       bool IsSuspended(const char * aNodeName ) ;
91       bool IsDone(const char * aNodeName ,
92                   const char * anOutServiceParameterName ) ;
93
94       const CORBA::Any *GetInData( const char * ToNodeName ,
95                                    const char * ToParameterName ) ;
96       const CORBA::Any *GetOutData( const char * FromNodeName ,
97                                     const char * FromParameterName ) ;
98
99       long Threads() ;
100
101       bool ReadyWait() ;
102       bool RunningWait() ;
103       bool DoneWait() ;
104       bool SuspendedWait() ;
105       bool ReadyWait(const char * aNodeName ) ;
106       bool RunningWait(const char * aNodeName ) ;
107       bool DoneWait(const char * aNodeName ) ;
108       bool SuspendedWait(const char * aNodeName ) ;
109
110       bool Ping(const char * aNodeName ) ;
111       bool ContainerKill() ;
112       bool ContainerKill(const char * aNodeName ) ;
113
114       bool Kill() ;
115       bool Kill(const char * aNodeName ) ;
116       bool KillDone(const char * aNodeName ) ;
117       bool Suspend() ;
118       bool Suspend(const char * aNodeName ) ;
119       bool SuspendDone() ;
120       bool SuspendDone(const char * aNodeName ) ;
121       bool Resume() ;
122       bool Resume(const char * aNodeName ) ;
123       bool Stop() ;
124       bool Stop(const char * aNodeName ) ;
125
126   };
127
128 };
129
130 #include "DataFlowExecutor_DataFlow.lxx"
131
132 ostream & operator << (ostream &,const GraphExecutor::DataFlow & G);
133 ostream & operator << (ostream &,const SUPERV::SDate &);
134
135 #endif
136
137
138