Salome HOME
Moved some functionality to VTKViewer_Utilities.h
[modules/kernel.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 // IDL headers
15 #include <SALOMEconfig.h>
16 #include CORBA_SERVER_HEADER(SALOMEDS)
17
18 // Cascade headers
19 #include <TDataStd_ChildNodeIterator.hxx>
20 #include <TDataStd_TreeNode.hxx>
21 #include <Standard_GUID.hxx>
22
23 class SALOMEDS_Study_i;
24
25 class SALOMEDS_UseCaseIterator_i: public POA_SALOMEDS::UseCaseIterator,
26                                   public PortableServer::RefCountServantBase 
27 {
28   SALOMEDS_UseCaseIterator_i(); // Not implemented
29   void operator=(const SALOMEDS_UseCaseIterator_i&); // Not implemented
30
31 private:
32   Standard_GUID                 _guid;
33   Standard_Boolean              _levels;
34   Handle(TDataStd_TreeNode)     _node;
35   TDataStd_ChildNodeIterator    _it;
36   SALOMEDS_Study_i*             _study;
37
38 public:
39   //! standard constructor  
40   SALOMEDS_UseCaseIterator_i(SALOMEDS_Study_i* theStudy,
41                              const TDF_Label& theLabel, 
42                              const Standard_GUID& theGUID, 
43                              const Standard_Boolean theIsAllLevels);
44   
45   //! standard destructor
46   ~SALOMEDS_UseCaseIterator_i();
47   
48   virtual void Init(CORBA::Boolean);
49   virtual CORBA::Boolean More();
50   virtual void Next();
51   virtual SALOMEDS::SObject_ptr Value();
52 };
53
54
55 #endif