Salome HOME
The final values of InPorts of EndSwitchNodes in a loop may be wrong
[modules/superv.git] / src / GraphBase / DataFlowBase_OutPort.hxx
index a6363d0fa4d21cc618e23e6b18b33dc874690573..ecc9e2a73cdf5f001a19a3d6fa4575c5b27e8412 100644 (file)
@@ -70,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 ; } ;
@@ -102,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 ) ;