Salome HOME
35a821d93fe4bc837bf87746074deb4b95ebc08b
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_SComponentIterator_i.hxx
1 //  File      : SALOMEDS_SComponentIterator_i.hxx
2 //  Created   : Wed Nov 28 16:24:22 2001
3 //  Author    : Yves FRICAUD
4
5 //  Project   : SALOME
6 //  Module    : SALOMEDS
7 //  Copyright : Open CASCADE 2001
8 //  $Header$
9
10 #ifndef __SALOMEDS_SCOMPONENTITERATOR_I_H__
11 #define __SALOMEDS_SCOMPONENTITERATOR_I_H__
12
13 // std C++ headers
14 #include <iostream.h>
15
16 // IDL headers
17 #include <SALOMEconfig.h>
18 #include CORBA_SERVER_HEADER(SALOMEDS)
19
20 //SALOMEDS headers
21 #include "SALOMEDS_SComponent_i.hxx"
22
23 // Cascade headers
24 #include <TDocStd_Document.hxx>
25 #include <TDF_ChildIterator.hxx>
26 #include <TDF_Label.hxx>
27 #include <stdio.h>
28
29 class SALOMEDS_SComponentIterator_i:public POA_SALOMEDS::SComponentIterator,
30                                     public PortableServer::RefCountServantBase {
31
32 private:
33
34   CORBA::ORB_ptr           _orb;
35   TDF_ChildIterator        _it;
36   TDF_Label                _lab;
37
38 public:
39   
40   SALOMEDS_SComponentIterator_i(const Handle(TDocStd_Document) adoc, CORBA::ORB_ptr);
41   
42   ~SALOMEDS_SComponentIterator_i();
43   
44   virtual void Init();
45   virtual CORBA::Boolean More();
46   virtual void Next();
47   virtual SALOMEDS::SComponent_ptr Value();  
48 };
49 #endif