1 // SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : DataFlowBase_EndOfSwitchNode.hxx
23 // Author : Jean Rahuel, CEA
26 #ifndef _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
27 #define _DATAFLOWBASE_ENDOFSWITCHNODE_HXX
29 #include "DataFlowBase_GOTONode.hxx"
33 class EndOfSwitchNode : public GOTONode {
37 int _EndSwitchInPortLinkedNumber ; // For Check from Branches to EndOfSwitch links
38 bool _SwitchWithGOTO ;
43 EndOfSwitchNode( CORBA::ORB_ptr ORB ,
44 SALOME_NamingService* ptrNamingService ,
45 const char * FuncName ,
46 const SUPERV::ListOfStrings & aPythonFunction ,
47 const char *NodeName ,
48 const SUPERV::KindOfNode akind ,
49 const SUPERV::SDate NodeFirstCreation ,
50 const SUPERV::SDate NodeLastModification ,
51 const char * NodeEditorRelease ,
52 const char * NodeAuthor ,
53 const char * NodeComment ,
54 const bool GeneratedName ,
57 int * Graph_prof_debug = NULL ,
58 ofstream * Graph_fdebug = NULL ) ;
59 virtual ~EndOfSwitchNode() ;
61 void InitEndSwitchInPortLinked() ;
62 bool DecrEndSwitchInPortLinked( GraphBase::InPort * anInPort ,
63 string & anErrorMessage ) ;
64 void SetSwitchWithGOTO() {
65 _SwitchWithGOTO = true ; } ;
66 bool SwitchWithGOTO() {
67 return _SwitchWithGOTO ; } ;
68 bool CheckEndSwitchInPortsLinked( string & anErrorMessage ) ;