Salome HOME
4a89352cee0ed6a94a0814575e70eae079158cc0
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_UseCaseIterator_i.cxx
1 //  File   : SALOMEDS_UseCaseIterator_i.cxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5
6 #include "SALOMEDS_UseCaseIterator_i.hxx"
7 #include "SALOMEDS_SObject_i.hxx"
8 #include "SALOMEDS.hxx"
9
10 #include "SALOMEDSImpl_SObject.hxx"
11 #include "utilities.h"
12
13 using namespace std;
14
15 //============================================================================
16 /*! Function : constructor
17  *  Purpose  :
18  */
19 //============================================================================
20 SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(const Handle(SALOMEDSImpl_UseCaseIterator)& theImpl, 
21                                                        CORBA::ORB_ptr orb)
22 {
23   _orb = CORBA::ORB::_duplicate(orb);
24   _impl = theImpl;
25 }
26
27 //============================================================================
28 /*! Function : destructor
29  *  Purpose  :
30  */
31 //============================================================================
32 SALOMEDS_UseCaseIterator_i::~SALOMEDS_UseCaseIterator_i()
33 {
34 }
35
36 //============================================================================
37 /*! Function :Init
38  * 
39  */
40 //============================================================================
41 void SALOMEDS_UseCaseIterator_i::Init(CORBA::Boolean allLevels)
42
43   SALOMEDS::Locker lock;
44   _impl->Init(allLevels);
45 }
46
47 //============================================================================
48 /*! Function : More
49  * 
50  */
51 //============================================================================
52 CORBA::Boolean SALOMEDS_UseCaseIterator_i::More()
53 {
54   SALOMEDS::Locker lock;
55   return _impl->More();
56 }
57
58 //============================================================================
59 /*! Function : Next
60  * 
61  */
62 //============================================================================
63 void SALOMEDS_UseCaseIterator_i::Next()
64 {
65   SALOMEDS::Locker lock;
66   _impl->Next();
67 }
68
69
70 //============================================================================
71 /*! Function :
72  *  Purpose  :
73  */
74 //============================================================================
75 SALOMEDS::SObject_ptr SALOMEDS_UseCaseIterator_i::Value()
76 {
77   SALOMEDS::Locker lock;
78   Handle(SALOMEDSImpl_SObject) aSO = _impl->Value();
79   SALOMEDS::SObject_var so = SALOMEDS_SObject_i::New (aSO, _orb);
80   return so._retn();
81 }
82