1 // SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : FNode_Impl.cxx
8 // Author : Jean Rahuel
18 #include "utilities.h"
20 #include "FNode_Impl.hxx"
22 FNode_Impl::FNode_Impl() {
25 FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
26 PortableServer::POA_ptr poa ,
27 PortableServer::ObjectId * contId ,
28 const char *instanceName ,
29 const char *interfaceName ,
30 GraphEditor::DataFlow * aDataFlowEditor ,
31 const SALOME_ModuleCatalog::Service &NodeService ,
32 const char * NodeComponentName ,
33 const char * NodeInterfaceName ,
34 const char * NodeName ,
35 const SUPERV::KindOfNode NodeKindOfNode ) :
36 // Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
37 CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , NodeService , NodeName , NodeKindOfNode , (char * ) NULL ) {
38 MESSAGE( NodeName << " " );
39 // beginService( "FNode_Impl::FNode_Impl" );
41 _id = _poa->activate_object(_thisObj);
42 _Orb = CORBA::ORB::_duplicate(orb);
45 // DataFlowNode( DataFlowEditor()->AddNode( NodeService , NodeComponentName ,
46 // NodeInterfaceName , NodeName ,
47 // NodeKindOfNode ) ) ;
48 DataFlowNode()->ComponentName( NodeComponentName ) ;
49 DataFlowNode()->InterfaceName( NodeInterfaceName ) ;
50 // endService( "FNode_Impl::FNode_Impl" );
53 FNode_Impl::FNode_Impl( CORBA::ORB_ptr orb ,
54 PortableServer::POA_ptr poa ,
55 PortableServer::ObjectId * contId ,
56 const char *instanceName ,
57 const char *interfaceName ,
58 GraphEditor::DataFlow * aDataFlowEditor ,
59 GraphEditor::InNode * aDataFlowNode ) :
60 // Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
61 CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
62 MESSAGE( DataFlowNode()->Name() << " " );
63 beginService( "FNode_Impl::FNode_Impl" );
65 _id = _poa->activate_object(_thisObj);
66 _Orb = CORBA::ORB::_duplicate(orb);
69 endService( "FNode_Impl::FNode_Impl" );
72 FNode_Impl::~FNode_Impl() {
73 beginService( "FNode_Impl::~Node_Impl" );
74 endService( "FNode_Impl::~Node_Impl" );
77 void FNode_Impl::destroy() {
78 beginService( "FNode_Impl::Destroy" );
79 if ( DataFlowEditor()->IsEditing() ) {
81 _poa->deactivate_object(*_id) ;
82 CORBA::release(_poa) ;
84 _thisObj->_remove_ref();
87 endService( "FNode_Impl::Destroy" );
90 bool FNode_Impl::Delete() {
91 // beginService( "FNode_Impl::Delete" );
93 if ( DataFlowEditor()->IsEditing() ) {
94 RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
96 RetVal = DataFlowEditor()->IsValid() ;
98 // endService( "FNode_Impl::Delete" );
102 char * FNode_Impl::GetComponentName() {
103 // beginService( "FNode_Impl::GetComponentName" );
104 char * RetVal = DataFlowNode()->ComponentName() ;
105 // endService( "FNode_Impl::GetComponentName" );
106 return CORBA::string_dup( RetVal );
108 bool FNode_Impl::SetComponentName( const char * aComponentName ) {
109 // beginService( "FNode_Impl::SetComponentName" );
110 bool RetVal = false ;
111 if ( DataFlowEditor()->IsEditing() ) {
112 RetVal = DataFlowNode()->ComponentName( aComponentName ) ;
114 // endService( "FNode_Impl::SetComponentName" );
117 char * FNode_Impl::GetInterfaceName() {
118 // beginService( "FNode_Impl::GetInterfaceName" );
119 char * RetVal = DataFlowNode()->InterfaceName() ;
120 // endService( "FNode_Impl::GetInterfaceName" );
121 return CORBA::string_dup( RetVal );
123 bool FNode_Impl::SetInterfaceName( const char * anInterfaceName ) {
124 // beginService( "FNode_Impl::SetInterfaceName" );
125 bool RetVal = false ;
126 if ( DataFlowEditor()->IsEditing() ) {
127 RetVal = DataFlowNode()->InterfaceName( anInterfaceName ) ;
129 // endService( "FNode_Impl::SetInterfaceName" );
132 char * FNode_Impl::GetContainer() {
133 // beginService( "FNode_Impl::GetContainer" );
134 char * RetVal = DataFlowNode()->Computer() ;
135 // endService( "FNode_Impl::GetContainer" );
136 return CORBA::string_dup( RetVal ) ;
138 bool FNode_Impl::SetContainer( const char * aDataFlowContainer ) {
139 // beginService( "FNode_Impl::SetContainer" );
140 bool RetVal = false ;
141 GraphExecutor::DataFlow * _DataFlowExecutor = DataFlowEditor()->Executor() ;
142 if ( DataFlowEditor()->IsEditing() ) {
143 RetVal = DataFlowNode()->Computer( aDataFlowContainer ) ;
145 else if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
146 _DataFlowExecutor->IsSuspended( DataFlowNode()->Name() ) ) ) {
147 if ( _DataFlowExecutor->GetChangeGraphNode( DataFlowNode()->Name() ) ) {
148 RetVal = ((GraphEditor::InNode * ) _DataFlowExecutor->GetChangeGraphNode( DataFlowNode()->Name() )->GetInNode())->Computer( aDataFlowContainer ) ;
151 // endService( "FNode_Impl::SetContainer" );