1 // SUPERV GraphBase : contains fondamental classes for Services, Input Ports, Output Ports Links and Nodes.
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : DataFlowBase_FactoryNode.hxx
8 // Author : Jean Rahuel, CEA
12 #ifndef _DATAFLOWBASE_FACTORYNODE_HXX
13 #define _DATAFLOWBASE_FACTORYNODE_HXX
15 #include "DataFlowBase_ComputingNode.hxx"
19 class FactoryNode : public ComputingNode {
23 Engines::Container_var _Container ;
24 Engines::Component_var _ObjComponent ;
26 char * _ComponentName ;
27 char * _InterfaceName ;
34 FactoryNode( CORBA::ORB_ptr ORB ,
35 SALOME_NamingService* ptrNamingService ,
36 const char * DataFlowName ,
37 const SUPERV::KindOfNode DataFlowkind ,
38 int * Graph_prof_debug = NULL ,
39 ofstream * Graph_fdebug = NULL ) ;
40 FactoryNode( CORBA::ORB_ptr ORB ,
41 SALOME_NamingService* ptrNamingService ,
42 const SALOME_ModuleCatalog::Service& NodeService ,
43 const char *NodeComponentName ,
44 const char* NodeInterfaceName ,
45 const char *NodeName ,
46 const SUPERV::KindOfNode akind ,
47 const SUPERV::SDate NodeFirstCreation ,
48 const SUPERV::SDate NodeLastModification ,
49 const char * NodeEditorRelease ,
50 const char * NodeAuthor ,
51 const char * NodeComputer ,
52 const char * NodeComment ,
53 const bool GeneratedName ,
56 int * Graph_prof_debug = NULL ,
57 ofstream * Graph_fdebug = NULL ) ;
58 virtual ~FactoryNode() ;
60 Engines::Container_var Container() const { return _Container ; } ;
61 void SetContainer(Engines::Container_var aContainer) {
62 _Container = aContainer ; } ;
63 Engines::Component_var Component() const { return _ObjComponent ; } ;
64 void SetComponent(Engines::Component_var anObjComponent) {
65 _ObjComponent = anObjComponent ; } ;
66 char * ComponentName() const { return my_strdup( _ComponentName ) ; } ;
67 char * InterfaceName() const { return my_strdup( _InterfaceName ) ; } ;
68 char * Computer() const {
69 // cdebug_in << "GraphBase::FactoryNode::Computer returns '" << _Computer << "'"
71 return my_strdup( _Computer ) ; } ;
73 bool ComponentName( const char * aComponentName ) ;
74 bool InterfaceName( const char * anInterfaceName ) ;
75 bool Computer( const char *c ) ;
77 // bool SaveXML( ostream &f , char *Tabs ,
78 bool SaveXML( QDomDocument & Graph , QDomElement & info ,
79 int XCoordinate , int YCoordinate ) const ;
80 bool SavePY( ostream &f , const char * aGraphName ,
81 int XCoordinate , int YCoordinate ) const ;