]> SALOME platform Git repositories - modules/superv.git/blob - src/Supervision/Port_Impl.hxx
Salome HOME
8814a77d369e019505026e7f89bb1ac53985a07d
[modules/superv.git] / src / Supervision / Port_Impl.hxx
1 //=============================================================================
2 // File      : Port_Impl.hxx
3 // Created   : Nov 2001
4 // Author    : Jean Rahuel
5 // Project   : SALOME
6 // Copyright : CEA 2001
7 // $Header: 
8 //=============================================================================
9
10 #ifndef _PORT_IMPL_HXX_
11 #define _PORT_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 "Link_Impl.hxx"
23 #include "FNode_Impl.hxx"
24
25 #include "DataFlowEditor_DataFlow.hxx"
26
27 class Port_Impl : public Value_Impl ,
28                   public POA_SUPERV::Port {
29   private:
30
31     CORBA::ORB_ptr             _Orb ;
32     PortableServer::POA_ptr    _Poa ;
33     PortableServer::ObjectId * _ContId ;
34
35     GraphEditor::DataFlow * _DataFlowEditor ;
36     GraphEditor::InNode *   _DataFlowNode ;
37     GraphBase::Port *       _DataFlowPort ;
38     bool                    _InputPort ;
39
40   public:
41     Port_Impl();
42     Port_Impl( CORBA::ORB_ptr orb ,
43                PortableServer::POA_ptr poa ,
44                PortableServer::ObjectId * contId , 
45                const char *instanceName ,
46                const char *interfaceName ,
47                GraphEditor::DataFlow * DataFlowEditor ,
48                GraphEditor::InNode * DataFlowNode ,
49                GraphBase::Port * DataFlowPort ,
50                bool InputPort ,
51 //               const char *ParameterName ,
52                const CORBA::Any * anAny ) ;
53     Port_Impl( CORBA::ORB_ptr orb ,
54                PortableServer::POA_ptr poa ,
55                PortableServer::ObjectId * contId , 
56                const char *instanceName ,
57                const char *interfaceName ,
58                GraphEditor::DataFlow * DataFlowEditor ,
59                GraphEditor::InNode * DataFlowNode ,
60                GraphBase::Port * DataFlowPort ,
61                bool InputPort ) ;
62 //               const char *ParameterName ) ;
63     virtual ~Port_Impl() ;
64     virtual void destroy() ;
65
66     virtual bool Input( const SUPERV::Value_ptr aValue ) ;
67     virtual bool Input( const CORBA::Any * anAny ) ;
68
69     virtual char * Name() ;
70     virtual char * Type() ;
71
72     virtual SUPERV::CNode_ptr Node() ;
73
74     virtual SUPERV::Link_ptr Link() ;
75     virtual SUPERV::ListOfLinks * Links() ;
76
77     virtual bool IsInput() ;
78     virtual bool IsLinked() ;
79     virtual bool HasInput() ;
80
81     virtual SUPERV::KindOfPort Kind() ;
82     virtual bool IsParam() ;
83     virtual bool IsGate() ;
84     virtual bool IsInLine() ;
85     virtual bool IsLoop() ;
86     virtual bool IsSwitch() ;
87     virtual bool IsEndSwitch() ;
88
89     virtual SUPERV::GraphState State() ;
90     virtual bool IsDone() ;
91
92 } ;
93
94 #endif