Salome HOME
*** empty log message ***
[modules/superv.git] / src / Supervision / LNode_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   : LNode_Impl.hxx
8 //  Author : Jean Rahuel
9 //  Module : SUPERV
10 //  $Header: 
11
12 #ifndef _LNODE_IMPL_HXX_
13 #define _LNODE_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 "GNode_Impl.hxx"
24
25 #include "Port_Impl.hxx"
26
27 #include "DataFlowEditor_DataFlow.hxx"
28 #include "DataFlowExecutor_DataFlow.hxx"
29
30 class LNode_Impl : public GNode_Impl ,
31                    public POA_SUPERV::LNode {
32   private:
33
34     CORBA::ORB_ptr _Orb ;
35     PortableServer::POA_ptr _Poa ;
36     PortableServer::ObjectId * _ContId ;
37
38   public:
39     LNode_Impl();
40     LNode_Impl( CORBA::ORB_ptr orb ,
41                PortableServer::POA_ptr poa ,
42                PortableServer::ObjectId * contId , 
43                const char *instanceName ,
44                const char *interfaceName ,
45                GraphEditor::DataFlow * DataFlowEditor ,
46                GraphBase::ListOfFuncName FuncName ,
47                GraphBase::ListOfPythonFunctions PythonFunction ,
48 //               const char * InitName , 
49 //               const SUPERV::ListOfStrings & InitFunction ,
50 //               const char * MoreName , 
51 //               const SUPERV::ListOfStrings & MoreFunction ,
52 //               const char * NextName , 
53 //               const SUPERV::ListOfStrings & NextFunction ,
54                const SUPERV::KindOfNode NodeKindOfNode = SUPERV::LoopNode ) ;
55     LNode_Impl( CORBA::ORB_ptr orb ,
56                PortableServer::POA_ptr poa ,
57                PortableServer::ObjectId * contId , 
58                const char *instanceName ,
59                const char *interfaceName ,
60                GraphEditor::DataFlow * DataFlowEditor ,
61                GraphEditor::InNode * DataFlowNode ) ;
62     virtual ~LNode_Impl() ;
63     virtual void destroy() ;
64     virtual bool Delete() ;
65
66     virtual void SetPyInit( const char * InitName ,
67                             const SUPERV::ListOfStrings & aPyMoreFunction ) ;
68     virtual SUPERV::ListOfStrings * PyInit() ;
69     virtual char * PyInitName() ;
70
71     virtual void SetPyMore( const char * MoreName ,
72                             const SUPERV::ListOfStrings & aPyMoreFunction ) ;
73     virtual SUPERV::ListOfStrings * PyMore() ;
74     virtual char * PyMoreName() ;
75
76     virtual void SetPyNext( const char * NextName ,
77                             const SUPERV::ListOfStrings & aPyNextFunction ) ;
78     virtual SUPERV::ListOfStrings * PyNext() ;
79     virtual char * PyNextName() ;
80
81     virtual GraphBase::LoopNode * BaseNode() {
82             return DataFlowNode()->LoopNode() ; } ;
83
84 } ;
85
86 #endif