]> SALOME platform Git repositories - modules/superv.git/blob - src/Supervision/Link_Impl.hxx
Salome HOME
NRI : First integration.
[modules/superv.git] / src / Supervision / Link_Impl.hxx
1 //=============================================================================
2 // File      : Link_Impl.hxx
3 // Created   : Nov 2001
4 // Author    : Jean Rahuel
5 // Project   : SALOME
6 // Copyright : CEA 2001
7 // $Header: 
8 //=============================================================================
9
10 #ifndef _LINK_IMPL_HXX_
11 #define _LINK_IMPL_HXX_
12
13 #include <iostream.h>
14
15 #include "CORBA.h"
16
17 #include <SALOMEconfig.h>
18 #include "SALOME_Component_i.hxx"
19 #include "SALOME_LifeCycleCORBA.hxx"
20
21 #include "Value_Impl.hxx"
22 #include "Port_Impl.hxx"
23
24 #include "DataFlowEditor_DataFlow.hxx"
25
26 class Link_Impl : public POA_SUPERV::Link ,
27                   public Engines_Component_i  {
28   private:
29
30     CORBA::ORB_ptr _Orb ;
31     PortableServer::POA_ptr _Poa ;
32     PortableServer::ObjectId * _ContId ;
33
34     GraphEditor::DataFlow * _DataFlowEditor ;
35     GraphEditor::InNode *   _DataFlowNode ;
36     char *                  _DataFlowNodeName ;
37     char *                  _InputParameterName ;
38     GraphEditor::InNode *   _DataFlowOutNode ;
39     char *                  _DataFlowOutNodeName ;
40     char *                  _OutputParameterName ;
41
42   public:
43     Link_Impl();
44     Link_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                GraphEditor::InNode * DataFlowNode ,
51                const char *InputParameterName ,
52                GraphEditor::InNode * DataFlowOutNode ,
53                const char *OutputParameterName ,
54                const bool Create ) ;
55
56     virtual ~Link_Impl() ;
57     virtual void destroy() ;
58     virtual bool Delete() ;
59
60     SUPERV::Port_ptr OutPort() ;
61     SUPERV::Port_ptr InPort() ;
62
63     virtual GraphBase::SLink * Info() ;
64
65     virtual long CoordsSize() ;
66     virtual bool AddCoord( const long index ,
67                            const long X ,
68                            const long Y ) ;
69     virtual bool ChangeCoord( const long index ,
70                               const long X ,
71                               const long Y ) ;
72     virtual bool RemoveCoord( const long index ) ;
73     virtual bool Coords( const long index , long & X , long & Y ) ;
74
75
76 } ;
77
78 #endif