]> SALOME platform Git repositories - modules/yacs.git/blobdiff - src/engine/Port.hxx
Salome HOME
PR: merge from BR_DATACONV_PR tag "mergeto_trunk_25oct06"
[modules/yacs.git] / src / engine / Port.hxx
index 69ce0bfd7bd0d64b11a5f315171ff8a9d450967b..53ef31a194bbeed4e614f0cdd740ad7b94c3a44a 100644 (file)
@@ -1,38 +1,44 @@
 #ifndef __PORT_HXX__
 #define __PORT_HXX__
 
+#include "TypeCode.hxx"
 #include <string>
 
-namespace YACS
-{
-  namespace ENGINE
-  {
-    class Node;
-  }
-}
 
 /**
- *
- * Not instanciable class that factorizes all basic data and behaviours relative the in and out interfaces of all nodes.
- * End-user should not neither instanciate a sub-class of 'Port' nor called other methods than accessor.
- *
+ * Not instanciable class that factorizes all basic data and behaviours relative 
+ * to the in and out interfaces of all nodes.
+ * End-user should neither instanciate a sub-class of 'Port' 
+ * nore call other methods than accessor.
  */
+
 namespace YACS
 {
   namespace ENGINE
   {
+    class Node;
+
     class Port
     {
-    protected:
-      Node *_node;//NOT OWNERED
-    public:
-      static const char NAME[];
-    protected:
-      Port(Node *node);
     public:
       virtual ~Port();
+
       Node *getNode() const { return _node; }
+      std::string getImpl() const {return _impl; }
+
       virtual std::string getNameOfTypeOfCurrentInstance() const;
+      //      virtual TypeCode * type();
+
+      static const char NAME[];
+
+    protected:
+      Port(Node *node);
+
+      Node        *_node;
+      std::string  _impl;
+      TypeCode    *_type;
+      int          id_;
+      static int   total_;
     };
   }
 }