1 //=============================================================================
2 // File : INode_Impl.hxx
4 // Author : Jean Rahuel
8 //=============================================================================
10 #ifndef _INODE_IMPL_HXX_
11 #define _INODE_IMPL_HXX_
17 #include <SALOMEconfig.h>
18 #include "SALOME_Component_i.hxx"
19 #include "SALOME_LifeCycleCORBA.hxx"
21 #include "CNode_Impl.hxx"
23 #include "Port_Impl.hxx"
25 #include "DataFlowEditor_DataFlow.hxx"
26 #include "DataFlowExecutor_DataFlow.hxx"
28 class INode_Impl : public CNode_Impl ,
29 public POA_SUPERV::INode {
33 PortableServer::POA_ptr _Poa ;
34 PortableServer::ObjectId * _ContId ;
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() ;
73 virtual void SetPyFunction( const char * FuncName ,
74 const SUPERV::ListOfStrings & aPyFunction ) ;
75 virtual SUPERV::ListOfStrings * PyFunction() ;
76 virtual char * PyFuncName() ;
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 ) ;
83 virtual GraphBase::InLineNode * BaseNode() {
84 return DataFlowNode()->InLineNode() ; } ;