Salome HOME
PR: first version from Antony GEAY, with directory restructuration
[modules/yacs.git] / src / engine / Port.hxx
1 #ifndef __PORT_HXX__
2 #define __PORT_HXX__
3
4 #include <string>
5
6 namespace YACS
7 {
8   namespace ENGINE
9   {
10     class Node;
11   }
12 }
13
14 /**
15  *
16  * Not instanciable class that factorizes all basic data and behaviours relative the in and out interfaces of all nodes.
17  * End-user should not neither instanciate a sub-class of 'Port' nor called other methods than accessor.
18  *
19  */
20 namespace YACS
21 {
22   namespace ENGINE
23   {
24     class Port
25     {
26     protected:
27       Node *_node;//NOT OWNERED
28     public:
29       static const char NAME[];
30     protected:
31       Port(Node *node);
32     public:
33       virtual ~Port();
34       Node *getNode() const { return _node; }
35       virtual std::string getNameOfTypeOfCurrentInstance() const;
36     };
37   }
38 }
39
40 #endif