Salome HOME
SMH: 3.0.0 preparation = merged version (POLYWORK + RTVDEBUG01) + adopation for new GUI
[modules/superv.git] / src / Supervision / Value_Impl.cxx
index 9b948e61df2d4bc6276a6f3691060ebebe1aa551..96e7d75df06afec9ac3efbe76bf1bf5b68374035 100644 (file)
@@ -154,6 +154,7 @@ bool Value_Impl::Input( const CORBA::Any * anAny ) {
 }
 
 CORBA::Any * Value_Impl::ToAny() {
+  beginService( "Value_Impl::ToAny" );
   CORBA::Any * anAny ;
   if ( _DataFlowEditor ) {
     char * name ;
@@ -163,6 +164,7 @@ CORBA::Any * Value_Impl::ToAny() {
     else {
       name = _DataFlowEditor->Graph()->Name() ;
     }
+    MESSAGE( "ToAny " << name<< "( " << _ParameterName << " )" ) ;
     if ( _InputPort ) {
       if ( _DataFlowNode ) {
         _InputValue = _DataFlowNode->HasInput( _ParameterName ) ;
@@ -172,12 +174,14 @@ CORBA::Any * Value_Impl::ToAny() {
       }
       GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
       if ( _DataFlowExecutor ) {
-        anAny = new CORBA::Any( * _DataFlowExecutor->GetInData( name ,
-                                                                _ParameterName ) ) ;
+//JR 30.03.2005        anAny = new CORBA::Any( * _DataFlowExecutor->GetInData( name ,
+        anAny = new CORBA::Any( _DataFlowExecutor->GetInData( name ,
+                                                              _ParameterName ) ) ;
       }
       else if ( _InputValue ) {
-        anAny = new CORBA::Any( * _DataFlowEditor->GetInData( name ,
-                                                              _ParameterName ) ) ;
+//JR 30.03.2005        anAny = new CORBA::Any( * _DataFlowEditor->GetInData( name ,
+        anAny = new CORBA::Any( _DataFlowEditor->GetInData( name ,
+                                                            _ParameterName ) ) ;
       }
       else {
         anAny = new CORBA::Any( *_Any ) ;
@@ -186,8 +190,9 @@ CORBA::Any * Value_Impl::ToAny() {
     else {
       GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
       if ( _DataFlowExecutor ) {
-        anAny = new CORBA::Any( * _DataFlowExecutor->GetOutData( name ,
-                                                                _ParameterName ) ) ;
+//JR 30.03.2005        anAny = new CORBA::Any( * _DataFlowExecutor->GetOutData( name ,
+        anAny = new CORBA::Any( _DataFlowExecutor->GetOutData( name ,
+                                                              _ParameterName ) ) ;
       }
       else {
         anAny = new CORBA::Any( *_Any ) ;
@@ -197,12 +202,14 @@ CORBA::Any * Value_Impl::ToAny() {
   else {
     anAny = new CORBA::Any( *_Any ) ;
   }
+  endService( "Value_Impl::ToAny" );
   return anAny ;
 }
 
 char * Value_Impl::ToString() {
 //  beginService( "Value_Impl::ToString" );
-  CORBA::Any anAny = *ToAny() ;
+//JR 22.03.2005 Memory Leak  CORBA::Any anAny = *ToAny() ;
+  CORBA::Any anAny ;
   if ( _DataFlowEditor ) {
     char * name ;
     if ( _DataFlowNode ) {
@@ -211,7 +218,7 @@ char * Value_Impl::ToString() {
     else {
       name = _DataFlowEditor->Graph()->Name() ;
     }
-//    cout << "Value_Impl::ToString " << name << " " << _ParameterName << " " ;
+//    MESSAGE( "ToString " << name<< "( " << _ParameterName << " )" ) ;
     if ( _InputPort ) {
       if ( _DataFlowNode ) {
         _InputValue = _DataFlowNode->HasInput( _ParameterName ) ;
@@ -221,15 +228,20 @@ char * Value_Impl::ToString() {
       }
       GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
       if ( _DataFlowExecutor ) {
-//        cout << "_DataFlowExecutor->GetInData" << endl ;
-        anAny = * _DataFlowExecutor->GetInData( name ,
-                                                _ParameterName ) ;
+//        cout << "-->_DataFlowExecutor->GetInData " << name << " " << _ParameterName << endl ;
+//JR 30.03.2005        const CORBA::Any * AnyPtr = _DataFlowExecutor->GetInData( name ,
+        const CORBA::Any AnyRef = _DataFlowExecutor->GetInData( name ,
+                                                                _ParameterName ) ;
+//JR 30.03.2005        cout << "<--_DataFlowExecutor->GetInData " << AnyPtr << endl ;
+//JR 30.03.2005        anAny = * AnyPtr ;
+        anAny = AnyRef ;
       }
       else if ( _InputValue ) {
 //        cout << "_DataFlowEditor->GetInData _DataFlowNode " << _DataFlowNode
 //             << " _InputValue " << _InputValue << endl ;
-        anAny = * _DataFlowEditor->GetInData( name ,
-                                              _ParameterName ) ;
+//JR 30.03.2005        anAny = * _DataFlowEditor->GetInData( name ,
+        anAny = _DataFlowEditor->GetInData( name ,
+                                            _ParameterName ) ;
       }
       else {
         anAny = *_Any ;
@@ -238,8 +250,13 @@ char * Value_Impl::ToString() {
     else {
       GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
       if ( _DataFlowExecutor ) {
-        anAny = * _DataFlowExecutor->GetOutData( name ,
-                                                 _ParameterName ) ;
+//        cout << "-->_DataFlowExecutor->GetOutData " << name << " " << _ParameterName << endl ;
+//JR 30.03.2005        const CORBA::Any * AnyPtr = _DataFlowExecutor->GetOutData( name ,
+        const CORBA::Any AnyRef = _DataFlowExecutor->GetOutData( name ,
+                                                                 _ParameterName ) ;
+//JR 30.03.2005        cout << "<--_DataFlowExecutor->GetOutData " << AnyPtr << endl ;
+//JR 30.03.2005        anAny = * AnyPtr ;
+        anAny = AnyRef ;
       }
       else {
         anAny = *_Any ;
@@ -315,27 +332,31 @@ bool Value_Impl::IsIOR() {
         _InputValue = _DataFlowEditor->HasInput( _ParameterName ) ;
       }
       if ( _InputValue && _DataFlowEditor->IsEditing() ) {
-        anAny = * _DataFlowEditor->GetInData( name ,
-                                              _ParameterName ) ;
+//JR 30.03.2005        anAny = * _DataFlowEditor->GetInData( name ,
+        anAny = _DataFlowEditor->GetInData( name ,
+                                            _ParameterName ) ;
       }
       else {
         GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
         if ( _DataFlowExecutor ) {
-          anAny = * _DataFlowExecutor->GetInData( name ,
-                                                  _ParameterName ) ;
+//JR 30.03.2005          anAny = * _DataFlowExecutor->GetInData( name ,
+          anAny = _DataFlowExecutor->GetInData( name ,
+                                                _ParameterName ) ;
        }
       }
     }
     else {
       if ( _InputValue && _DataFlowEditor->IsEditing() ) {
-        anAny = * _DataFlowEditor->GetOutData( name ,
-                                               _ParameterName ) ;
+//JR 30.03.2005        anAny = * _DataFlowEditor->GetOutData( name ,
+        anAny = _DataFlowEditor->GetOutData( name ,
+                                             _ParameterName ) ;
       }
       else {
         GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
         if ( _DataFlowExecutor ) {
-          anAny = * _DataFlowExecutor->GetOutData( name ,
-                                                   _ParameterName ) ;
+//JR 30.03.2005          anAny = * _DataFlowExecutor->GetOutData( name ,
+          anAny = _DataFlowExecutor->GetOutData( name ,
+                                                 _ParameterName ) ;
        }
       }
     }