]> SALOME platform Git repositories - modules/yacs.git/blobdiff - src/engine/Port.hxx
Salome HOME
PR: first version from Antony GEAY, with directory restructuration
[modules/yacs.git] / src / engine / Port.hxx
diff --git a/src/engine/Port.hxx b/src/engine/Port.hxx
new file mode 100644 (file)
index 0000000..69ce0bf
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef __PORT_HXX__
+#define __PORT_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.
+ *
+ */
+namespace YACS
+{
+  namespace ENGINE
+  {
+    class Port
+    {
+    protected:
+      Node *_node;//NOT OWNERED
+    public:
+      static const char NAME[];
+    protected:
+      Port(Node *node);
+    public:
+      virtual ~Port();
+      Node *getNode() const { return _node; }
+      virtual std::string getNameOfTypeOfCurrentInstance() const;
+    };
+  }
+}
+
+#endif