Salome HOME
Porting on Mandriva 64
[modules/superv.git] / src / GraphBase / DataFlowBase_StreamGraph.hxx
1 //  SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : DataFlowBase_StreamGraph.hxx
8 //  Author : Jean Rahuel
9 //  Module : SUPERV
10 //  $Header:
11
12 #ifndef _DATAFLOWBASE_STREAMGRAPH_HXX
13 #define _DATAFLOWBASE_STREAMGRAPH_HXX
14
15 #include "DataFlowBase_Graph.hxx"
16
17 namespace GraphBase {
18
19   class StreamGraph : public Graph {
20
21     private:
22     
23 // Configuration :
24 // The name is the name of the graph
25       long                          _Timeout ;
26       SUPERV::KindOfDataStreamTrace _DataStreamTrace ;
27       double                        _DeltaTime ;
28
29 // Total number of SubStreamGraphs
30       int                           _SubStreamGraphsNumber ;
31
32     protected:
33
34     public:
35
36       StreamGraph() ;
37
38       StreamGraph( CORBA::ORB_ptr ORB ,
39                    SALOME_NamingService* ptrNamingService ,
40                    const char * DataFlowName ,
41                    const SUPERV::KindOfNode DataFlowkind ,
42                    int * Graph_prof_debug ,
43                    ofstream * Graph_fdebug ) ;
44
45       StreamGraph( CORBA::ORB_ptr ORB ,
46                    SALOME_NamingService * ptrNamingService ,
47                    const SALOME_ModuleCatalog::Service & DataFlowService ,
48                    const char * DataFlowComponentName ,
49                    const char * DataFlowInterfaceName ,
50                    const char * DataFlowName ,
51                    const SUPERV::KindOfNode DataFlowkind ,
52                    const SUPERV::SDate DataFlowFirstCreation ,
53                    const SUPERV::SDate DataFlowLastModification ,
54                    const char * DataFlowEditorRelease ,
55                    const char * DataFlowAuthor ,
56                    const char * DataFlowComputer ,
57                    const char * DataFlowComment ,
58                    int * Graph_prof_debug ,
59                    ofstream * Graph_fdebug ) ;
60
61       ~StreamGraph() ;
62
63       bool SetStreamParams( CORBA::Long Timeout ,
64                             const SUPERV::KindOfDataStreamTrace DataStreamTrace ,
65                             CORBA::Double  DeltaTime ) ;
66       void StreamParams( CORBA::Long & Timeout ,
67                          SUPERV::KindOfDataStreamTrace & DataStreamTrace ,
68                          CORBA::Double & DeltaTime ) const ;
69
70       bool CreateStreamTopology( const char * aDirectory ) ;
71
72       void SubStreamGraphsNumber( int SubStreamGraphsNumber ) {
73            _SubStreamGraphsNumber = SubStreamGraphsNumber ; } ;
74       long SubStreamGraphsNumber() const {
75            return _SubStreamGraphsNumber ; } ;
76
77   };
78
79 };
80
81 ostream & operator<< (ostream &,const SUPERV::KindOfDataStreamTrace &);
82
83 #endif