1 // File : SALOMEDS_UseCaseIterator.cxx
2 // Author : Sergey RUIN
7 #include "SALOMEDS_UseCaseIterator.hxx"
8 #include "SALOMEDS_SObject.hxx"
12 SALOMEDS_UseCaseIterator::SALOMEDS_UseCaseIterator(const Handle(SALOMEDSImpl_UseCaseIterator)& theIterator)
15 _local_impl = theIterator;
16 _corba_impl = SALOMEDS::UseCaseIterator::_nil();
19 SALOMEDS_UseCaseIterator::SALOMEDS_UseCaseIterator(SALOMEDS::UseCaseIterator_ptr theIterator)
23 _corba_impl = SALOMEDS::UseCaseIterator::_duplicate(theIterator);
26 SALOMEDS_UseCaseIterator::~SALOMEDS_UseCaseIterator()
28 if(!_isLocal) _corba_impl->Destroy();
31 void SALOMEDS_UseCaseIterator::Init(bool theAllLevels)
33 if(_isLocal) _local_impl->Init(theAllLevels);
34 else _corba_impl->Init(theAllLevels);
37 bool SALOMEDS_UseCaseIterator::More()
40 if(_isLocal) ret = _local_impl->More();
41 else ret = _corba_impl->More();
45 void SALOMEDS_UseCaseIterator::Next()
47 if(_isLocal) _local_impl->Next();
48 else _corba_impl->Next();
51 _PTR(SObject) SALOMEDS_UseCaseIterator::Value()
53 SALOMEDS_SObject* aSO;
54 if(_isLocal) aSO = new SALOMEDS_SObject(_local_impl->Value());
55 else aSO = new SALOMEDS_SObject(_corba_impl->Value());
56 return _PTR(SObject)(aSO);