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