Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / runtime / CORBAPorts.hxx
index c1c0d057d60ca61800b34c13b69036b1b02f082a..7d13244f7e399b7e18bf36cfbd1c1a3e4babd763 100644 (file)
@@ -5,21 +5,38 @@
 
 #include "InputPort.hxx"
 #include "OutputPort.hxx"
+#include <string>
 
 namespace YACS
 {
   namespace ENGINE
   {
-
+/*! \brief Class for CORBA Input Ports
+ *
+ * \ingroup Ports
+ *
+ * \see CORBANode
+ */
     class InputCorbaPort : public InputPort
     {
     public:
       InputCorbaPort(const std::string& name, Node *node, TypeCode * type);
+      InputCorbaPort(const InputCorbaPort& other, Node *newHelder);
+      virtual ~InputCorbaPort();
+      bool edIsManuallyInitialized() const;
+      void edRemoveManInit();
       virtual void put(const void *data) throw(ConversionException);
       void put(CORBA::Any *data) throw (ConversionException);
+      InputPort *clone(Node *newHelder) const;
+      void *get() const throw(Exception);
+      virtual bool isEmpty();
       virtual CORBA::Any * getAny();
+      virtual void exSaveInit();
+      virtual void exRestoreInit();
+      virtual std::string dump();
     protected:
       CORBA::Any  _data;
+      CORBA::Any *  _initData;
       CORBA::ORB_ptr _orb;
     };
 
@@ -27,12 +44,16 @@ namespace YACS
     {
     public:
       OutputCorbaPort(const std::string& name, Node *node, TypeCode * type);
+      OutputCorbaPort(const OutputCorbaPort& other, Node *newHelder);
+      virtual ~OutputCorbaPort();
       virtual void put(const void *data) throw(ConversionException);
       void put(CORBA::Any *data) throw (ConversionException);
+      OutputPort *clone(Node *newHelder) const;
       virtual CORBA::Any * getAny();
       virtual CORBA::Any * getAnyOut();
+      virtual std::string dump();
       friend std::ostream & operator<< ( std::ostream &os,
-                                        const OutputCorbaPort& p);
+                                         const OutputCorbaPort& p);
     protected:
       CORBA::Any  _data;
       CORBA::ORB_ptr _orb;