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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : DataFlowBase_Base.cxx
25 // Author : Jean Rahuel, CEA
30 #include "DataFlowBase_Base.hxx"
32 char *SuperVision_Version = "2.0" ;
34 char *NULLSTRING = "" ;
36 char *FACTORYSERVER = "localhost/FactoryServer" ;
38 GraphBase::Base::Base() {
43 void GraphBase::Base::SetDebug( CORBA::ORB_ptr ORB ,
44 int * theprof_debug , ofstream * thefdebug ) {
45 if ( _prof_debug == NULL ) {
46 // *thefdebug << "GraphBase::Base::SetDebug Done _fdebug " << _fdebug << " = thefdebug " << thefdebug
48 if ( theprof_debug ) {
49 _Orb = CORBA::ORB::_duplicate( ORB ) ;
50 _prof_debug = theprof_debug ;
54 MESSAGE( "GraphBase::Base::SetDebug with theprof_debug == NULL" ) ;
58 cdebug << "GraphBase::Base::SetDebug already done" << endl ;
60 // cdebug_in << "GraphBase::Base::SetDebug" << endl ;
61 // cdebug << "GraphBase::Base::SetDebug" << endl ;
62 // cdebug_out << "GraphBase::Base::SetDebug" << endl ;
65 char * GraphBase::Base::ObjectToString( CORBA::Object_ptr obj ) const {
66 return _Orb->object_to_string( obj );
69 CORBA::Object_ptr GraphBase::Base::StringToObject( char * obj ) const {
70 return _Orb->string_to_object( obj );
73 string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) {
75 switch ( aDataStreamType ) {
76 case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN : {
77 aIdlType = "Unknown" ;
80 case SALOME_ModuleCatalog::DATASTREAM_INTEGER : {
84 case SALOME_ModuleCatalog::DATASTREAM_FLOAT : {
88 case SALOME_ModuleCatalog::DATASTREAM_DOUBLE : {
92 case SALOME_ModuleCatalog::DATASTREAM_STRING : {
96 case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN : {
101 aIdlType = "Unknown" ;
108 SALOME_ModuleCatalog::DataStreamType StringToDataStreamType( const char * aIdlType ) {
109 SALOME_ModuleCatalog::DataStreamType aDataStreamType ;
110 if ( !strcmp( aIdlType , "Unknown" ) ) {
111 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_UNKNOWN ;
113 else if ( !strcmp( aIdlType , "int" ) ) {
114 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_INTEGER ;
116 else if ( !strcmp( aIdlType , "float" ) ) {
117 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_FLOAT ;
119 else if ( !strcmp( aIdlType , "double" ) ) {
120 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_DOUBLE ;
122 else if ( !strcmp( aIdlType , "string" ) ) {
123 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_STRING ;
125 else if ( !strcmp( aIdlType , "bool" ) ) {
126 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_BOOLEAN ;
129 aDataStreamType = SALOME_ModuleCatalog::DATASTREAM_UNKNOWN ;
131 return aDataStreamType ;
134 string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) {
136 switch ( aDataStreamTrace ) {
137 case SUPERV::WithoutTrace :
140 case SUPERV::SummaryTrace :
143 case SUPERV::DetailedTrace :
147 aTrace = "UndefinedTrace";
153 string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDependency aDataStreamDependency ) {
155 switch ( aDataStreamDependency ) {
156 case SALOME_ModuleCatalog::DATASTREAM_UNDEFINED :
159 case SALOME_ModuleCatalog::DATASTREAM_TEMPORAL :
162 case SALOME_ModuleCatalog::DATASTREAM_ITERATIVE :
173 string DataStreamToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) {
175 switch ( aDataStreamType ) {
176 case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN : {
177 aStreamType = "Unknown" ;
180 case SALOME_ModuleCatalog::DATASTREAM_INTEGER : {
181 aStreamType = "ENTIER" ;
184 case SALOME_ModuleCatalog::DATASTREAM_FLOAT : {
185 aStreamType = "REEL" ;
188 case SALOME_ModuleCatalog::DATASTREAM_DOUBLE : {
189 aStreamType = "DOUBLE" ;
192 case SALOME_ModuleCatalog::DATASTREAM_STRING : {
193 aStreamType = "CHAINE" ;
196 case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN : {
197 aStreamType = "LOGIQUE" ;
208 ostream & operator<< (ostream & f ,const SALOME_ModuleCatalog::DataStreamType & s ) {
210 case SALOME_ModuleCatalog::DATASTREAM_UNKNOWN :
211 f << "DATASTREAM_UNKNOWN";
213 case SALOME_ModuleCatalog::DATASTREAM_INTEGER :
214 f << "DATASTREAM_INTEGER";
216 case SALOME_ModuleCatalog::DATASTREAM_FLOAT :
217 f << "DATASTREAM_FLOAT";
219 case SALOME_ModuleCatalog::DATASTREAM_DOUBLE :
220 f << "DATASTREAM_DOUBLE";
222 case SALOME_ModuleCatalog::DATASTREAM_STRING :
223 f << "DATASTREAM_STRING";
225 case SALOME_ModuleCatalog::DATASTREAM_BOOLEAN :
226 f << "DATASTREAM_BOOLEAN";
229 f << "DATASTREAM_UNKNOWN";