X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_SComponentIterator_i.cxx;h=cc7d6700fda508498f90395d78f7f59796d68637;hb=f932433e7396f9be950f617c50c9b15db1a33be1;hp=fb709652a380e2828a32f9a237196625030b13a4;hpb=1bd1d38e86c39b13e265f8ff534fc1463c25fef3;p=modules%2Fyacs.git diff --git a/src/SALOMEDS/SALOMEDS_SComponentIterator_i.cxx b/src/SALOMEDS/SALOMEDS_SComponentIterator_i.cxx index fb709652a..cc7d6700f 100644 --- a/src/SALOMEDS/SALOMEDS_SComponentIterator_i.cxx +++ b/src/SALOMEDS/SALOMEDS_SComponentIterator_i.cxx @@ -1,14 +1,33 @@ +// Copyright (C) 2007-2016 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, or (at your option) any later version. +// +// 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 +// + // File : SALOMEDS_SComponentIterator_i.cxx // Author : Sergey RUIN // Module : SALOME - - +// #include "SALOMEDS_SComponentIterator_i.hxx" #include "SALOMEDS.hxx" #include "SALOMEDSImpl_SComponent.hxx" -using namespace std; - //============================================================================ /*! Function : constructor * @@ -16,10 +35,10 @@ using namespace std; //============================================================================ SALOMEDS_SComponentIterator_i::SALOMEDS_SComponentIterator_i(const SALOMEDSImpl_SComponentIterator& theImpl, - CORBA::ORB_ptr orb) -:_impl(theImpl) + CORBA::ORB_ptr orb) { _orb = CORBA::ORB::_duplicate(orb); + _impl = theImpl.GetPersistentCopy(); } //============================================================================ @@ -29,6 +48,7 @@ SALOMEDS_SComponentIterator_i::SALOMEDS_SComponentIterator_i(const SALOMEDSImpl_ //============================================================================ SALOMEDS_SComponentIterator_i::~SALOMEDS_SComponentIterator_i() { + if(_impl) delete _impl; } //============================================================================ @@ -39,7 +59,7 @@ SALOMEDS_SComponentIterator_i::~SALOMEDS_SComponentIterator_i() void SALOMEDS_SComponentIterator_i::Init() { SALOMEDS::Locker lock; - _impl.Init(); + _impl->Init(); } //============================================================================ @@ -50,7 +70,7 @@ void SALOMEDS_SComponentIterator_i::Init() CORBA::Boolean SALOMEDS_SComponentIterator_i::More() { SALOMEDS::Locker lock; - return _impl.More(); + return _impl->More(); } //============================================================================ @@ -60,7 +80,7 @@ CORBA::Boolean SALOMEDS_SComponentIterator_i::More() void SALOMEDS_SComponentIterator_i::Next() { SALOMEDS::Locker lock; - _impl.Next(); + _impl->Next(); } @@ -72,7 +92,7 @@ void SALOMEDS_SComponentIterator_i::Next() SALOMEDS::SComponent_ptr SALOMEDS_SComponentIterator_i::Value() { SALOMEDS::Locker lock; - SALOMEDS::SComponent_var sco = SALOMEDS_SComponent_i::New (_impl.Value(), _orb); + SALOMEDS::SComponent_var sco = SALOMEDS_SComponent_i::New (_impl->Value(), _orb); return sco._retn(); }