Salome HOME
3fd40570c30c4a9b0f84a70e4e55730588780b7a
[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     bool _isCimpl;
38
39   public:
40     FNode_Impl();
41     FNode_Impl( CORBA::ORB_ptr orb ,
42                 PortableServer::POA_ptr poa ,
43                 PortableServer::ObjectId * contId , 
44                 const char * instanceName ,
45                 const char * interfaceName ,
46                 const char * aDataFlowName ) ;
47     FNode_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 SALOME_ModuleCatalog::Service &NodeService ,
54                 const char * NodeComponentName ,
55                 const char * NodeInterfaceName ,
56                 const char * NodeName = NULLSTRING ,
57                 const SUPERV::KindOfNode NodeKindOfNode = SUPERV::FactoryNode ,
58                 bool isCimpl = true ) ; // mkr : PAL11273 : C++ implementation by default
59     FNode_Impl( CORBA::ORB_ptr orb ,
60                 PortableServer::POA_ptr poa ,
61                 PortableServer::ObjectId * contId , 
62                 const char * instanceName ,
63                 const char * interfaceName ,
64                 GraphEditor::DataFlow * DataFlowEditor ,
65                 GraphEditor::InNode * DataFlowNode ) ;
66     virtual ~FNode_Impl() ;
67     virtual void destroy() ;
68     virtual bool Delete() ;
69
70     virtual char * GetComponentName() ;
71     virtual bool SetComponentName(const char *) ;
72     virtual char * GetInterfaceName() ;
73     virtual bool SetInterfaceName(const char *) ;
74     virtual char * GetContainer() ;
75     virtual bool SetContainer( const char * aDataFlowContainer ) ;
76
77     virtual GraphBase::FactoryNode * BaseNode() {
78             return DataFlowNode()->FactoryNode() ; } ;
79
80     virtual bool IsCimpl() { return _isCimpl; } ; // mkr : PAL11273
81   
82 } ;
83
84 #endif