Salome HOME
NRI : First integration.
[modules/superv.git] / src / GraphBase / DataFlowBase_FactoryNode.hxx
1 //=============================================================================
2 // File      : DataFlowBase_FactoryNode.hxx
3 // Created   : 2003
4 // Author    : Jean Rahuel, CEA
5 // Project   : SALOME
6 // $Header:
7 //=============================================================================
8
9 #ifndef _DATAFLOWBASE_FACTORYNODE_HXX
10 #define _DATAFLOWBASE_FACTORYNODE_HXX
11
12 #include "DataFlowBase_ComputingNode.hxx"
13
14 namespace GraphBase {
15
16   class FactoryNode : public ComputingNode {
17
18     private:
19     
20       Engines::Container_var _Container ;
21       Engines::Component_var _ObjComponent ;
22
23       char *                 _ComponentName ;
24       char *                 _InterfaceName ;
25
26       char *                 _Computer ;
27
28     public:
29
30       FactoryNode() ;
31       FactoryNode( CORBA::ORB_ptr ORB ,
32             SALOME_NamingService* ptrNamingService ,
33             const char * DataFlowName ,
34             int * Graph_prof_debug = NULL ,
35             ostream * Graph_fdebug = NULL ) ;
36       FactoryNode( CORBA::ORB_ptr ORB ,
37             SALOME_NamingService* ptrNamingService ,
38             const SALOME_ModuleCatalog::Service& NodeService ,
39             const char *NodeComponentName ,
40             const char* NodeInterfaceName ,
41             const char *NodeName ,
42             const SUPERV::KindOfNode akind ,
43             const SUPERV::SDate NodeFirstCreation ,
44             const SUPERV::SDate NodeLastModification ,
45             const char * NodeEditorRelease ,
46             const char * NodeAuthor ,
47             const char * NodeComputer ,
48             const char * NodeComment ,
49             const bool   GeneratedName ,
50             const long   X ,
51             const long   Y ,
52             int * Graph_prof_debug = NULL ,
53             ostream * Graph_fdebug = NULL ) ;
54       virtual ~FactoryNode() ;
55
56       Engines::Container_var Container() const { return _Container ; } ;
57       void SetContainer(Engines::Container_var aContainer) {
58                         _Container = aContainer ; } ;
59       Engines::Component_var Component() const { return _ObjComponent ; } ;
60       void SetComponent(Engines::Component_var anObjComponent) {
61                         _ObjComponent = anObjComponent ; } ;
62       char * ComponentName() const { return my_strdup( _ComponentName ) ; } ;
63       char * InterfaceName() const { return my_strdup( _InterfaceName ) ; } ;
64       char * Computer() const { return my_strdup( _Computer ) ; } ;
65
66       bool ComponentName( const char * aComponentName ) ;
67       bool InterfaceName( const char * anInterfaceName ) ;
68       bool Computer( const char *c ) ;
69
70 //      bool SaveXML( ostream &f , char *Tabs ,
71       bool SaveXML( QDomDocument & Graph , QDomElement & info ,
72                     int XCoordinate , int YCoordinate ) const ;
73       bool SavePY( ostream &f , const char * aGraphName ,
74                    int XCoordinate , int YCoordinate ) const ;
75
76   };
77   
78 };
79
80 #endif