1 // SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : INode_Impl.hxx
8 // Author : Jean Rahuel
12 #ifndef _INODE_IMPL_HXX_
13 #define _INODE_IMPL_HXX_
15 //#include <iostream.h>
19 #include <SALOMEconfig.h>
20 #include "SALOME_Component_i.hxx"
21 #include "SALOME_LifeCycleCORBA.hxx"
23 #include "CNode_Impl.hxx"
25 #include "StreamPort_Impl.hxx"
27 #include "DataFlowEditor_DataFlow.hxx"
28 #include "DataFlowExecutor_DataFlow.hxx"
30 class INode_Impl : public CNode_Impl ,
31 public POA_SUPERV::INode {
35 PortableServer::POA_ptr _Poa ;
36 PortableServer::ObjectId * _ContId ;
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() ;
83 virtual void SetPyFunction( const char * FuncName ,
84 const SUPERV::ListOfStrings & aPyFunction ) ;
85 virtual SUPERV::ListOfStrings * PyFunction() ;
86 virtual char * PyFuncName() ;
88 virtual GraphBase::InLineNode * BaseNode() {
89 return DataFlowNode()->InLineNode() ; } ;
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 ) ;
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 ) ;