+// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+// SUPERV Supervision : contains the implementation of interfaces of SuperVision described in SUPERV.idl
+// File : ESNode_Impl.cxx
+// Author : Jean Rahuel
+// Module : SUPERV
+//
using namespace std;
-//=============================================================================
-// File : ESNode_Impl.cxx
-// Created : 2003
-// Author : Jean Rahuel
-// Project : SALOME
-// $Header:
-//=============================================================================
-
#include <stdio.h>
#include <fstream>
-#include <strstream>
+//#include <sstream>
#include <string>
-#include "utilities.h"
+//#include "utilities.h"
#include "ESNode_Impl.hxx"
GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , FuncName , SUPERV::ListOfStrings() , NodeKindOfNode ) {
// MESSAGE( NodeName << " " );
beginService( "ESNode_Impl::ESNode_Impl" );
- if ( FuncName ) {
- cout << "ESNode_Impl::GNode_Impl " << (void *) FuncName << " " << FuncName
- << " " << strlen( FuncName ) << endl ;
- }
+// if ( FuncName ) {
+// cout << "ESNode_Impl::GNode_Impl " << (void *) FuncName << " " << FuncName
+// << " " << strlen( FuncName ) << endl ;
+// }
_thisObj = this ;
_id = _poa->activate_object(_thisObj);
_Orb = CORBA::ORB::_duplicate(orb);
void ESNode_Impl::destroy() {
beginService( "ESNode_Impl::Destroy" );
if ( DataFlowEditor()->IsEditing() ) {
+// SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
if ( Delete() ) {
_poa->deactivate_object(*_id) ;
- CORBA::release(_poa) ;
+// CORBA::release(_poa) ;
delete(_id) ;
- _thisObj->_remove_ref();
+// _thisObj->_remove_ref();
+ }
+ else {
+ MESSAGE("ESNode_Impl::destroy ERROR ") ;
}
+// destroy have to be used for the SwitchNode ==> destroy of the EndSwitchNode
+// if ( !CORBA::is_nil( aCoupled ) ) {
+// aCoupled->SetCoupled( "" ) ;
+// aCoupled->destroy() ;
+// }
}
endService( "ESNode_Impl::Destroy" );
}
bool ESNode_Impl::Delete() {
-// beginService( "ESNode_Impl::Delete" );
+ beginService( "ESNode_Impl::Delete" );
bool RetVal = false ;
if ( DataFlowEditor()->IsEditing() ) {
+ DeletePorts() ;
RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- if ( RetVal )
- RetVal = DataFlowEditor()->IsValid() ;
+// IsValid is done in SNode_Impl::Delete
+// if ( RetVal ) {
+// RetVal = DataFlowEditor()->IsValid() ;
+// }
}
-// endService( "ESNode_Impl::Delete" );
+ endService( "ESNode_Impl::Delete" );
return RetVal ;
}