// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
//
//
// File : DataFlowBase_Base.hxx
// Author : Jean Rahuel, CEA
// Module : SUPERV
-// $Header:
#ifndef _DATAFLOW_BASE_HXX
#define _DATAFLOW_BASE_HXX
+//#include <strstream>
#include <iostream>
#include <fstream>
-#include <strstream>
+#include <sstream>
#include <iomanip>
#include <string>
#include <map>
#include "utilities.h"
#include "OpUtil.hxx"
-#include "SALOME_NamingService.hxx"
+#define ExitWhenNodeAborted 1
extern char *SuperVision_Version ;
extern char *NULLSTRING ;
extern char *FACTORYSERVER ;
+extern char *FACTORYSERVERPY ;
inline char * my_strdup( const char * s ) {
if (s == NULL) return NULL;
return t;
}
-enum StatusOfPort { NotConnected , PortConnected , PortAndDataConnected ,
- DataConnected } ;
+inline char * my_strblkdup( const char * s ) {
+ if (s == NULL) return NULL ;
+
+ size_t l = strlen(s) + 1 ;
+ int i ;
+ for ( i = l - 2 ; i >= 0 ; i-- ) {
+ if ( s[i] != ' ' ) {
+ break ;
+ }
+ l = l - 1 ;
+ }
+ char * t = new char[l] ;
+ strncpy(t, s , l-1) ;
+ t[l-1] = '\0' ;
+ return t;
+}
+
+//string DataStreamTypeToString( const SALOME_ModuleCatalog::DataStreamType aDataStreamType ) ;
+int StringToDataStreamType( const char * aIdlType ) ;
+
+string KindOfDataStreamTraceToString( SUPERV::KindOfDataStreamTrace aDataStreamTrace ) ;
+
+string DataStreamDependencyToString( const SALOME_ModuleCatalog::DataStreamDependency aDataStreamDependency ) ;
+
+string DataStreamToString( const char* aDataStreamType ) ;
+
+//enum StatusOfPort { NotConnected , PortConnected , PortAndDataConnected ,
+enum StatusOfPort { NotConnected , PortConnected ,
+ DataConnected , ExternConnected } ;
namespace GraphBase {
typedef vector<const SUPERV::ListOfStrings *> ListOfPythonFunctions ;
- struct NodeParameter {
- SALOME_ModuleCatalog::ServicesParameter theInParameter ;
- SALOME_ModuleCatalog::ServicesParameter theOutParameter ;
- };
+ typedef vector<SALOME_ModuleCatalog::ServicesParameter> ListOfParameters;
+
+ struct InDataStreamParameter {
+ SALOME_ModuleCatalog::ServicesDataStreamParameter theDataStreamParameter ;
+ SUPERV::KindOfSchema theKindOfSchema ;
+ SUPERV::KindOfInterpolation theKindOfInterpolation ;
+ SUPERV::KindOfExtrapolation theKindOfExtrapolation ;
+ };
+ typedef vector<InDataStreamParameter> ListOfInDataStreamParameters;
- typedef vector<NodeParameter> ListOfParameters;
+ struct OutDataStreamParameter {
+ SALOME_ModuleCatalog::ServicesDataStreamParameter theDataStreamParameter ;
+ long theNumberOfValues ;
+ };
+ typedef vector<OutDataStreamParameter> ListOfOutDataStreamParameters;
struct SNode {
string theComponentName ;
string theInterfaceName ;
string theName ;
SUPERV::KindOfNode theKind ;
+ long theTimeout ;
+ SUPERV::KindOfDataStreamTrace theDataStreamTrace ;
+ double theDeltaTime ;
string theCoupledNode ;
+// int theDataStreamInArgsNumber ;
+// int theDataStreamOutArgsNumber ;
SALOME_ModuleCatalog::Service theService ;
- ListOfParameters theListOfParameters ;
+ ListOfInDataStreamParameters theListOfInDataStreams ;
+ ListOfOutDataStreamParameters theListOfOutDataStreams ;
ListOfFuncName theListOfFuncName ;
ListOfPythonFunctions theListOfPythonFunctions ;
SUPERV::SDate theFirstCreation ;
SCoord theCoords ;
};
- typedef vector<SNode> ListOfNodes;
+ typedef vector<SNode> ListOfSNodes;
struct ServicesData {
SALOME_ModuleCatalog::ServicesParameter aDataParameter ;
ListOfCoords aListOfCoords ;
};
- typedef vector<SLink> ListOfLinks;
+ typedef vector<SLink> ListOfSLinks;
struct SGraph {
SNode Info ;
- ListOfNodes Nodes ;
- ListOfLinks Links ;
- ListOfLinks Datas ;
+ ListOfSNodes Nodes ;
+ ListOfSLinks Links ;
+ ListOfSLinks Datas ;
};
- typedef vector<SGraph> ListOfGraphs;
+ typedef vector<SGraph> ListOfSGraphs;
class Base {
public:
- int * _prof_debug;
- ostream * _fdebug;
+ int * _prof_debug ;
+ ofstream * _fdebug ;
Base() ;
virtual ~Base() {} ;
void SetDebug( CORBA::ORB_ptr ORB ,
- int * prof_debug , ostream * fdebug ) ;
+ int * prof_debug , ofstream * fdebug ) ;
char * ObjectToString( CORBA::Object_ptr obj ) const ;
- CORBA::Object_ptr StringToObject(char * obj ) const ;
+ CORBA::Object_ptr StringToObject(const char * obj ) const ;
+
+ ostream & AnyValue( const CORBA::Any & anAny );
} ;
-# ifdef _DEBUG_
-# define cdebug \
- if ( GraphBase::Base::_prof_debug ) \
- *GraphBase::Base::_fdebug << " " /*<< setw(3*(*GraphBase::Base::_prof_debug)) */<< " "
+# ifdef _DEBUG_
-# define cdebug_in \
- if ( GraphBase::Base::_prof_debug ) \
- *GraphBase::Base::_fdebug << endl << "-->" /*<< setw(3*((*GraphBase::Base::_prof_debug)++)) */<< " "
+# define cdebug if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << " "
+# define cdebug_in if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "-->" << " "
+# define cdebug_out if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "<--" << " "
-# define cdebug_out \
- if ( GraphBase::Base::_prof_debug ) \
- *GraphBase::Base::_fdebug << endl << "<--" /*<< setw(3*(--(*GraphBase::Base::_prof_debug)))*/ << " "
# else
# define cdebug while (false) std::cerr
# define cdebug_out cdebug
# define debugFile(x)
-# endif
+#endif
} ;
+//ostream & operator<< (ostream &,const SALOME_ModuleCatalog::DataStreamType &);
+
#endif