Salome HOME
NRI : Merge from V1_2.
[modules/yacs.git] / src / SALOMEDS / SALOMEDS_UseCaseIterator_i.hxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SALOMEDS_UseCaseIterator_i.hxx
8 //  Author : Yves FRICAUD
9 //  Module : SALOME
10
11 #ifndef __SALOMEDS_USECASEITERATOR_I_H__
12 #define __SALOMEDS_USECASEITERATOR_I_H__
13
14 // std C++ headers
15 #include <iostream.h>
16
17 // IDL headers
18 #include <SALOMEconfig.h>
19 #include CORBA_SERVER_HEADER(SALOMEDS)
20
21
22
23 // Cascade headers
24 #include <TDF_ChildIterator.hxx>
25 #include <TDataStd_ChildNodeIterator.hxx>
26 #include <TDataStd_TreeNode.hxx>
27 #include <Standard_GUID.hxx>
28 #include <stdio.h>
29
30 class SALOMEDS_UseCaseIterator_i: public POA_SALOMEDS::UseCaseIterator,
31                                 public PortableServer::RefCountServantBase {
32 private:
33   Standard_GUID                 _guid;
34   Standard_Boolean              _levels;
35   CORBA::ORB_ptr                _orb;
36   Handle(TDataStd_TreeNode)     _node;
37   TDataStd_ChildNodeIterator    _it;
38
39 public:
40
41   //! standard constructor  
42   SALOMEDS_UseCaseIterator_i(const TDF_Label& theLabel, 
43                              const Standard_GUID& theGUID, 
44                              const Standard_Boolean allLevels,
45                              CORBA::ORB_ptr);
46   
47   //! standard destructor
48   ~SALOMEDS_UseCaseIterator_i();
49   
50   virtual void Init(CORBA::Boolean);
51   virtual CORBA::Boolean More();
52   virtual void Next();
53   virtual SALOMEDS::SObject_ptr Value();
54 };
55 #endif