]> SALOME platform Git repositories - modules/superv.git/blob - src/Supervision/INode_Impl.hxx
Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/superv.git] / src / Supervision / INode_Impl.hxx
1 //=============================================================================
2 // File      : INode_Impl.hxx
3 // Created   : 2003
4 // Author    : Jean Rahuel
5 // Project   : SALOME
6 // Copyright : CEA
7 // $Header: 
8 //=============================================================================
9
10 #ifndef _INODE_IMPL_HXX_
11 #define _INODE_IMPL_HXX_
12
13 #include <iostream.h>
14
15 #include "CORBA.h"
16
17 #include <SALOMEconfig.h>
18 #include "SALOME_Component_i.hxx"
19 #include "SALOME_LifeCycleCORBA.hxx"
20
21 #include "CNode_Impl.hxx"
22
23 #include "Port_Impl.hxx"
24
25 #include "DataFlowEditor_DataFlow.hxx"
26 #include "DataFlowExecutor_DataFlow.hxx"
27
28 class INode_Impl : public CNode_Impl ,
29                    public POA_SUPERV::INode {
30   private:
31
32     CORBA::ORB_ptr             _Orb ;
33     PortableServer::POA_ptr    _Poa ;
34     PortableServer::ObjectId * _ContId ;
35
36   public:
37     INode_Impl();
38     INode_Impl( CORBA::ORB_ptr orb ,
39                 PortableServer::POA_ptr poa ,
40                 PortableServer::ObjectId * contId , 
41                 const char *instanceName ,
42                 const char *interfaceName ,
43                 const char *aDataFlowName ) ;
44     INode_Impl( CORBA::ORB_ptr orb ,
45                 PortableServer::POA_ptr poa ,
46                 PortableServer::ObjectId * contId , 
47                 const char *instanceName ,
48                 const char *interfaceName ,
49                 GraphEditor::DataFlow * DataFlowEditor ,
50                 const char * FuncName , 
51                 const SUPERV::ListOfStrings & PythonFunction ,
52                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
53     INode_Impl( CORBA::ORB_ptr orb ,
54                 PortableServer::POA_ptr poa ,
55                 PortableServer::ObjectId * contId , 
56                 const char *instanceName ,
57                 const char *interfaceName ,
58                 GraphEditor::DataFlow * DataFlowEditor ,
59                 const GraphBase::ListOfFuncName FuncName , 
60                 const GraphBase::ListOfPythonFunctions PythonFunction ,
61                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::InLineNode ) ;
62     INode_Impl( CORBA::ORB_ptr orb ,
63                 PortableServer::POA_ptr poa ,
64                 PortableServer::ObjectId * contId , 
65                 const char *instanceName ,
66                 const char *interfaceName ,
67                 GraphEditor::DataFlow * DataFlowEditor ,
68                 GraphEditor::InNode * DataFlowNode ) ;
69     virtual ~INode_Impl() ;
70     virtual void destroy() ;
71     virtual bool Delete() ;
72
73     virtual void SetPyFunction( const char * FuncName ,
74                                 const SUPERV::ListOfStrings & aPyFunction ) ;
75     virtual SUPERV::ListOfStrings * PyFunction() ;
76     virtual char * PyFuncName() ;
77
78     virtual SUPERV::Port_ptr InPort( const char * aParameterName ,
79                                      const char * aParameterType ) ;
80     virtual SUPERV::Port_ptr OutPort( const char * aParameterName ,
81                                       const char * aParameterType ) ;
82
83     virtual GraphBase::InLineNode * BaseNode() {
84             return DataFlowNode()->InLineNode() ; } ;
85
86 } ;
87
88 #endif