Salome HOME
Moved some functionality to VTKViewer_Utilities.h
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_UseCaseIterator_i.cxx
index 490a24acf1acd3742d436d94491bc2bd2988029c..38dbd0568f403f2fd229defb7ba15959214b788a 100644 (file)
@@ -1,12 +1,14 @@
-using namespace std;
-//  File      : SALOMEDS_UseCaseIterator_i.cxx
-//  Created   : Mon Oct 7 16:15:25 2002
-//  Author    : Yves FRICAUD
-
-//  Project   : SALOME
-//  Module    : SALOMEDS
-//  Copyright : Open CASCADE 2002
+//  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
+//
+//  Copyright (C) 2003  CEA/DEN, EDF R&D
+//
+//
+//
+//  File   : SALOMEDS_UseCaseIterator_i.cxx
+//  Author : Yves FRICAUD
+//  Module : SALOME
 
+using namespace std;
 #include "SALOMEDS_UseCaseIterator_i.hxx"
 #include "SALOMEDS_SObject_i.hxx"
 #include "utilities.h"
@@ -18,14 +20,14 @@ using namespace std;
  *  Purpose  :
  */
 //============================================================================
-SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(const TDF_Label& theLabel, 
-                                                      const Standard_GUID& theGUID,
-                                                      const Standard_Boolean allLevels,
-                                                      CORBA::ORB_ptr orb)
-:_guid(theGUID), _levels(allLevels)
+SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(SALOMEDS_Study_i* theStudy,
+                                                      const TDF_Label& theLabel, 
+                                                      const Standard_GUID& theGUID, 
+                                                      const Standard_Boolean theIsAllLevels):
+  _guid(theGUID), 
+  _levels(theIsAllLevels),
+  _study(theStudy)
 {
-  _orb = CORBA::ORB::_duplicate(orb);
-
   if(theLabel.FindAttribute(_guid, _node)) {
     _it.Initialize (_node, _levels);
   }
@@ -80,8 +82,6 @@ void SALOMEDS_UseCaseIterator_i::Next()
 SALOMEDS::SObject_ptr SALOMEDS_UseCaseIterator_i::Value()
 {
   TDF_Label L = _it.Value()->Label();
-  SALOMEDS_SObject_i *  so_servant = new SALOMEDS_SObject_i (L,_orb);
-  SALOMEDS::SObject_var so = SALOMEDS::SObject::_narrow(so_servant->_this());
-  return so._retn();
+  return SALOMEDS_SObject_i::NewRef(_study,L)._retn();
 }