Salome HOME
SMH: 3.0.0 preparation = merged version (POLYWORK + RTVDEBUG01) + adopation for new GUI
[modules/superv.git] / src / GraphBase / DataFlowBase_InPort.hxx
index 5716725c62bac8a5152e3564eb826741111c9c92..89217ab92de84f71768599827720291c1d53288c 100644 (file)
@@ -39,9 +39,10 @@ namespace GraphBase {
 
     private:
 
-      SUPERV::GraphState   _State ;
+      SUPERV::GraphState   _PortState ;
       OutPort *            _OutPort ;
       OutPort *            _InitialOutPort ;
+      bool                 _BranchOfSwitchLinked ; // For Check from Branches to EndOfSwitch links
 
     public:   
 
@@ -58,24 +59,26 @@ namespace GraphBase {
          cdebug << "GraphBase::InPort::destroy " << PortName() << " "
                 << NodeName() << endl ; } ;
 
-      void State( SUPERV::GraphState aState ) {
+      void PortState( SUPERV::GraphState aPortState ) {
 //           cdebug << pthread_self() << " " << PortName() << " from "
 //                  << NodeName() << " SUPERV::GraphState " << _State << " "
-//                  << " --> " << aState << " _EndSwitchPort "
+//                  << " --> " << aPortState << " _EndSwitchPort "
 //                  << IsEndSwitch() << endl ;
-           _State = aState ; } ;
-      SUPERV::GraphState State() { return _State ; } ;
+           _PortState = aPortState ; } ;
+      SUPERV::GraphState PortState() { return _PortState ; } ;
 
       OutPort * GetOutPort() {
            return _OutPort ; } ;
       OutPort * GetOutPort() const {
            return _OutPort ; } ;
       const StatusOfPort PortStatus() const ;
+
       bool IsNotConnected() const ;
 //      bool IsConnected() const ;
       bool IsPortConnected() const ;
       bool IsDataConnected() const ;
       bool IsExternConnected() const ;
+
       bool AddOutPort( OutPort * anOutPort ) {
            if ( _OutPort )
              return false ;
@@ -91,6 +94,15 @@ namespace GraphBase {
            return false ; } ;
       bool RemoveOutPort() ;
 
+      bool BranchOfSwitchLinked( bool aInPortLinked ) {
+           if ( aInPortLinked && _BranchOfSwitchLinked ) {
+             return false ; // Already setted
+          }
+           _BranchOfSwitchLinked = aInPortLinked ;
+           return true ; } ;
+      bool BranchOfSwitchLinked() {
+           return _BranchOfSwitchLinked ; } ;
+
       void StringValue(ostream & f ) const ;
 
   } ;