1 // SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : SALOMEDS_UseCaseIterator_i.cxx
8 // Author : Yves FRICAUD
11 #include "SALOMEDS_UseCaseIterator_i.hxx"
12 #include "SALOMEDS_SObject_i.hxx"
13 #include "utilities.h"
16 //============================================================================
17 /*! Function : constructor
20 //============================================================================
21 SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(const TDF_Label& theLabel,
22 const Standard_GUID& theGUID,
23 const Standard_Boolean allLevels,
25 :_guid(theGUID), _levels(allLevels)
27 _orb = CORBA::ORB::_duplicate(orb);
29 if(theLabel.FindAttribute(_guid, _node)) {
30 _it.Initialize (_node, _levels);
34 //============================================================================
35 /*! Function : destructor
38 //============================================================================
39 SALOMEDS_UseCaseIterator_i::~SALOMEDS_UseCaseIterator_i()
43 //============================================================================
47 //============================================================================
48 void SALOMEDS_UseCaseIterator_i::Init(CORBA::Boolean allLevels)
50 _it.Initialize (_node, allLevels);
53 //============================================================================
57 //============================================================================
58 CORBA::Boolean SALOMEDS_UseCaseIterator_i::More()
63 //============================================================================
67 //============================================================================
68 void SALOMEDS_UseCaseIterator_i::Next()
74 //============================================================================
78 //============================================================================
80 SALOMEDS::SObject_ptr SALOMEDS_UseCaseIterator_i::Value()
82 TDF_Label L = _it.Value()->Label();
83 SALOMEDS_SObject_i * so_servant = new SALOMEDS_SObject_i (L,_orb);
84 SALOMEDS::SObject_var so = SALOMEDS::SObject::_narrow(so_servant->_this());