2 //=============================================================================
3 // File : FNode_Impl.cxx
5 // Author : Jean Rahuel
8 //=============================================================================
15 #include "utilities.h"
17 #include "FNode_Impl.hxx"
19 FNode_Impl::FNode_Impl() {
22 FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
23 PortableServer::POA_ptr poa ,
24 PortableServer::ObjectId * contId ,
25 const char *instanceName ,
26 const char *interfaceName ,
27 GraphEditor::DataFlow * aDataFlowEditor ,
28 const SALOME_ModuleCatalog::Service &NodeService ,
29 const char * NodeComponentName ,
30 const char * NodeInterfaceName ,
31 const char * NodeName ,
32 const SUPERV::KindOfNode NodeKindOfNode ) :
33 // Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
34 CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , NodeService , NodeName , NodeKindOfNode , (char * ) NULL ) {
35 MESSAGE( NodeName << " " );
36 beginService( "FNode_Impl::FNode_Impl" );
38 _id = _poa->activate_object(_thisObj);
39 _Orb = CORBA::ORB::_duplicate(orb);
42 // DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
43 // NodeInterfaceName , NodeName ,
44 // NodeKindOfNode ) ) ;
45 DataFlowNode()->ComponentName( NodeComponentName ) ;
46 DataFlowNode()->InterfaceName( NodeInterfaceName ) ;
47 endService( "FNode_Impl::FNode_Impl" );
50 FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
51 PortableServer::POA_ptr poa ,
52 PortableServer::ObjectId * contId ,
53 const char *instanceName ,
54 const char *interfaceName ,
55 GraphEditor::DataFlow * aDataFlowEditor ,
56 GraphEditor::InNode * aDataFlowNode ) :
57 // Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
58 CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
59 MESSAGE( DataFlowNode()->Name() << " " );
60 beginService( "FNode_Impl::FNode_Impl" );
62 _id = _poa->activate_object(_thisObj);
63 _Orb = CORBA::ORB::_duplicate(orb);
66 endService( "FNode_Impl::FNode_Impl" );
69 FNode_Impl::~FNode_Impl() {
70 beginService( "FNode_Impl::~Node_Impl" );
71 endService( "FNode_Impl::~Node_Impl" );
74 void FNode_Impl::destroy() {
75 beginService( "FNode_Impl::Destroy" );
76 if ( DataFlowEditor()->IsEditing() ) {
78 _poa->deactivate_object(*_id) ;
79 CORBA::release(_poa) ;
81 _thisObj->_remove_ref();
84 endService( "FNode_Impl::Destroy" );
87 bool FNode_Impl::Delete() {
88 // beginService( "FNode_Impl::Delete" );
90 if ( DataFlowEditor()->IsEditing() ) {
91 RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
93 RetVal = DataFlowEditor()->IsValid() ;
95 // endService( "FNode_Impl::Delete" );
99 char * FNode_Impl::GetComponentName() {
100 // beginService( "FNode_Impl::GetComponentName" );
101 char * RetVal = DataFlowNode()->ComponentName() ;
102 // endService( "FNode_Impl::GetComponentName" );
103 return CORBA::string_dup( RetVal );
105 bool FNode_Impl::SetComponentName( const char * aComponentName ) {
106 // beginService( "FNode_Impl::SetComponentName" );
107 bool RetVal = false ;
108 if ( DataFlowEditor()->IsEditing() ) {
109 RetVal = DataFlowNode()->ComponentName( aComponentName ) ;
111 // endService( "FNode_Impl::SetComponentName" );
114 char * FNode_Impl::GetInterfaceName() {
115 // beginService( "FNode_Impl::GetInterfaceName" );
116 char * RetVal = DataFlowNode()->InterfaceName() ;
117 // endService( "FNode_Impl::GetInterfaceName" );
118 return CORBA::string_dup( RetVal );
120 bool FNode_Impl::SetInterfaceName( const char * anInterfaceName ) {
121 // beginService( "FNode_Impl::SetInterfaceName" );
122 bool RetVal = false ;
123 if ( DataFlowEditor()->IsEditing() ) {
124 RetVal = DataFlowNode()->InterfaceName( anInterfaceName ) ;
126 // endService( "FNode_Impl::SetInterfaceName" );
129 char * FNode_Impl::GetContainer() {
130 // beginService( "FNode_Impl::GetContainer" );
131 char * RetVal = DataFlowNode()->Computer() ;
132 // endService( "FNode_Impl::GetContainer" );
133 return CORBA::string_dup( RetVal ) ;
135 bool FNode_Impl::SetContainer( const char * aDataFlowContainer ) {
136 // beginService( "FNode_Impl::SetContainer" );
137 bool RetVal = false ;
138 GraphExecutor::DataFlow * _DataFlowExecutor = DataFlowEditor()->Executor() ;
139 if ( DataFlowEditor()->IsEditing() ) {
140 RetVal = DataFlowNode()->Computer( aDataFlowContainer ) ;
142 else if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
143 _DataFlowExecutor->IsSuspended( DataFlowNode()->Name() ) ) ) {
144 if ( _DataFlowExecutor->GetChangeGraphNode( DataFlowNode()->Name() ) ) {
145 RetVal = ((GraphEditor::InNode * ) _DataFlowExecutor->GetChangeGraphNode( DataFlowNode()->Name() )->GetInNode())->Computer( aDataFlowContainer ) ;
148 // endService( "FNode_Impl::SetContainer" );