]> SALOME platform Git repositories - modules/superv.git/blob - src/Supervision/INode_Impl.hxx
Salome HOME
DCQ:prepare 2.0.0
[modules/superv.git] / src / Supervision / INode_Impl.hxx
1 //  SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : INode_Impl.hxx
8 //  Author : Jean Rahuel
9 //  Module : SUPERV
10 //  $Header: 
11
12 #ifndef _INODE_IMPL_HXX_
13 #define _INODE_IMPL_HXX_
14
15 //#include <iostream.h>
16
17 #include "CORBA.h"
18
19 #include <SALOMEconfig.h>
20 #include "SALOME_Component_i.hxx"
21 #include "SALOME_LifeCycleCORBA.hxx"
22
23 #include "CNode_Impl.hxx"
24
25 #include "StreamPort_Impl.hxx"
26
27 #include "DataFlowEditor_DataFlow.hxx"
28 #include "DataFlowExecutor_DataFlow.hxx"
29
30 class INode_Impl : public CNode_Impl ,
31                    public POA_SUPERV::INode {
32   private:
33
34     CORBA::ORB_ptr             _Orb ;
35     PortableServer::POA_ptr    _Poa ;
36     PortableServer::ObjectId * _ContId ;
37
38   public:
39     INode_Impl();
40     INode_Impl( CORBA::ORB_ptr orb ,
41                 PortableServer::POA_ptr poa ,
42                 PortableServer::ObjectId * contId , 
43                 const char *instanceName ,
44                 const char *interfaceName ,
45                 const char *aDataFlowName ,
46                 const SUPERV::KindOfNode aKindOfNode ) ;
47     INode_Impl( CORBA::ORB_ptr orb ,
48                 PortableServer::POA_ptr poa ,
49                 PortableServer::ObjectId * contId , 
50                 const char *instanceName ,
51                 const char *interfaceName ,
52                 GraphEditor::DataFlow * DataFlowEditor ,
53                 const char * FuncName , 
54                 const SUPERV::ListOfStrings & PythonFunction ,
55                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
56     INode_Impl( CORBA::ORB_ptr orb ,
57                 PortableServer::POA_ptr poa ,
58                 PortableServer::ObjectId * contId , 
59                 const char *instanceName ,
60                 const char *interfaceName ,
61                 GraphEditor::DataFlow * DataFlowEditor ,
62                 const GraphBase::ListOfFuncName FuncName , 
63                 const GraphBase::ListOfPythonFunctions PythonFunction ,
64                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
65     INode_Impl( CORBA::ORB_ptr orb ,
66                 PortableServer::POA_ptr poa ,
67                 PortableServer::ObjectId * contId , 
68                 const char *instanceName ,
69                 const char *interfaceName ,
70                 GraphEditor::DataFlow * DataFlowEditor ,
71                 GraphEditor::InNode * DataFlowNode ) ;
72     INode_Impl( CORBA::ORB_ptr orb ,
73                 PortableServer::POA_ptr poa ,
74                 PortableServer::ObjectId * contId , 
75                 const char *instanceName ,
76                 const char *interfaceName ,
77                 GraphExecutor::DataFlow * DataFlowExecutor ,
78                 GraphExecutor::InNode * DataFlowExecutorNode ) ;
79     virtual ~INode_Impl() ;
80     virtual void destroy() ;
81     virtual bool Delete() ;
82
83     virtual void SetPyFunction( const char * FuncName ,
84                                 const SUPERV::ListOfStrings & aPyFunction ) ;
85     virtual SUPERV::ListOfStrings * PyFunction() ;
86     virtual char * PyFuncName() ;
87
88     virtual GraphBase::InLineNode * BaseNode() {
89             return DataFlowNode()->InLineNode() ; } ;
90
91     virtual SUPERV::Port_ptr InPort( const char * aParameterName ,
92                                      const char * aParameterType ) ;
93     virtual SUPERV::Port_ptr OutPort( const char * aParameterName ,
94                                       const char * aParameterType ) ;
95
96     virtual SUPERV::StreamPort_ptr InStreamPort( const char * aParameterName ,
97                                                  const SALOME_ModuleCatalog::DataStreamType aParameterType ,
98                                                  const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
99     virtual SUPERV::StreamPort_ptr OutStreamPort( const char * aParameterName ,
100                                                   const SALOME_ModuleCatalog::DataStreamType aParameterType ,
101                                                   const SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
102
103 } ;
104
105 #endif