Salome HOME
*** empty log message ***
[modules/superv.git] / src / Supervision / FNode_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   : FNode_Impl.hxx
8 //  Author : Jean Rahuel
9 //  Module : SUPERV
10 //  $Header: 
11
12 #ifndef _FNODE_IMPL_HXX_
13 #define _FNODE_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 "Port_Impl.hxx"
26
27 #include "DataFlowEditor_DataFlow.hxx"
28 #include "DataFlowExecutor_DataFlow.hxx"
29
30 class FNode_Impl : public CNode_Impl ,
31                    public POA_SUPERV::FNode {
32   private:
33
34     CORBA::ORB_ptr _Orb ;
35     PortableServer::POA_ptr _Poa ;
36     PortableServer::ObjectId * _ContId ;
37
38   public:
39     FNode_Impl();
40     FNode_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     FNode_Impl( CORBA::ORB_ptr orb ,
47                 PortableServer::POA_ptr poa ,
48                 PortableServer::ObjectId * contId , 
49                 const char * instanceName ,
50                 const char * interfaceName ,
51                 GraphEditor::DataFlow * DataFlowEditor ,
52                 const SALOME_ModuleCatalog::Service &NodeService ,
53                 const char * NodeComponentName ,
54                 const char * NodeInterfaceName ,
55                 const char * NodeName = NULLSTRING ,
56                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::FactoryNode ) ;
57     FNode_Impl( CORBA::ORB_ptr orb ,
58                 PortableServer::POA_ptr poa ,
59                 PortableServer::ObjectId * contId , 
60                 const char * instanceName ,
61                 const char * interfaceName ,
62                 GraphEditor::DataFlow * DataFlowEditor ,
63                 GraphEditor::InNode * DataFlowNode ) ;
64     virtual ~FNode_Impl() ;
65     virtual void destroy() ;
66     virtual bool Delete() ;
67
68     virtual char * GetComponentName() ;
69     virtual bool SetComponentName(const char *) ;
70     virtual char * GetInterfaceName() ;
71     virtual bool SetInterfaceName(const char *) ;
72     virtual char * GetContainer() ;
73     virtual bool SetContainer( const char * aDataFlowContainer ) ;
74
75     virtual GraphBase::FactoryNode * BaseNode() {
76             return DataFlowNode()->FactoryNode() ; } ;
77
78 } ;
79
80 #endif