Salome HOME
Fix for bug PAL12235 : Init values on input port not retrievable after write/read...
[modules/superv.git] / src / GraphBase / DataFlowBase_OutPort.hxx
index 92253d497c48eda6197ed22faf645734c7f0d1f8..ecc9e2a73cdf5f001a19a3d6fa4575c5b27e8412 100644 (file)
@@ -48,13 +48,15 @@ namespace GraphBase {
 
     public:   
 
+      OutPort() {
+      };
       OutPort( const char *const * NodeName  ,
                const SALOME_ModuleCatalog::ServicesParameter aserviceParameter ,
-               const SUPERV::KindOfPort aKind = SUPERV::ServiceParameter ) :
-               DataPort( NodeName , aserviceParameter ) {
+               const SUPERV::KindOfPort aKind = SUPERV::ServiceParameter ,
+               const SALOME_ModuleCatalog::DataStreamDependency aDependency = SALOME_ModuleCatalog::DATASTREAM_UNDEFINED ) :
+               DataPort( NodeName , aserviceParameter , aKind , aDependency) {
                _Connected = NotConnected ;
-               _InPortsSize = 0 ;
-               Kind( aKind ) ; } ;
+               _InPortsSize = 0 ; } ;
       virtual ~OutPort() {
          cdebug << "GraphBase::OutPort::~OutPort " << PortName() << endl ; } ;
       virtual void destroy() {
@@ -68,20 +70,27 @@ namespace GraphBase {
          cdebug << "GraphBase::OutPort::destroy " << PortName() << " "
                 << NodeName() << endl ; } ;
 
+// PortStatus has a meaning :
+// It is NotConnected or PortConnected or DataConnected or ExternConnected
+// Even if an OutPort may be connected to several ports the PortStatus is unique
       const StatusOfPort PortStatus() const {
             return _Connected; } ;
-      void PortStatus(StatusOfPort c) { _Connected = c; } ;
+      void PortStatus( StatusOfPort PortSts ) {
+//           cdebug << "OutPort::PortStatus " << NodeName() << " " << PortName() << " "
+//                  << _Connected << " --> " << PortSts << endl ;
+           _Connected = PortSts ; } ;
       const bool IsNotConnected() const {
             return ( _Connected == NotConnected ) ; } ;
-      const bool IsConnected() const {
-            return ( _Connected != NotConnected ) ; } ;
+//      const bool IsConnected() const {
+//            return ( _Connected == PortConnected || _Connected == ExternConnected ) ; } ;
       const bool IsPortConnected() const {
-            return ( _Connected == PortConnected ||
-                     _Connected == PortAndDataConnected ) ; } ;
-      const bool IsPortAndDataConnected() const {
-            return ( _Connected == PortAndDataConnected ) ; } ;
+            return ( _Connected == PortConnected ) ; } ;
       const bool IsDataConnected() const {
             return ( _Connected == DataConnected ) ; } ;
+      const bool IsExternConnected() const {
+            return ( _Connected == ExternConnected ) ; } ;
+//      const bool IsPortAndDataConnected() const {
+//            return ( _Connected == PortAndDataConnected ) ; } ;
 
       const int InPortsSize() const {
             return _InPortsSize ; } ;
@@ -100,6 +109,7 @@ namespace GraphBase {
       bool AddInPort( InPort * toPort ) ;
       bool AddInPortObjRef( InPort * toPort , SUPERV::Link_var aLink ) ;
 
+      bool RemoveInPort() ;
       bool RemoveInPort( InPort * toPort ) ;
       bool ReNameInPort( const char* OldNodePortName ,
                          const char* NewNodePortName ) ;