Salome HOME
796c803794533ccb4ee77c0b28c951f97a7b915d
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_UseCaseBuilder_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_UseCaseBuilder_i.hxx
8 //  Author : Yves FRICAUD
9 //  Module : SALOME
10
11 #ifndef __SALOMEDS_USECaseBuilder_I_H__
12 #define __SALOMEDS_USECaseBuilder_I_H__
13
14 // IDL headers
15 #include <SALOMEconfig.h>
16 #include CORBA_SERVER_HEADER(SALOMEDS)
17 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
18
19 // Cascade headers
20 #include <TDataStd_TreeNode.hxx>
21 #include <TDocStd_Document.hxx>
22
23 class SALOMEDS_Study_i;
24
25 class SALOMEDS_UseCaseBuilder_i: public POA_SALOMEDS::UseCaseBuilder,
26                                  public PortableServer::RefCountServantBase 
27 {
28   SALOMEDS_UseCaseBuilder_i(); // Not implemented
29   void operator=(const SALOMEDS_UseCaseBuilder_i&); // Not implemented
30
31 private:
32   Handle(TDataStd_TreeNode)     _root;
33   Handle(TDocStd_Document)      _doc;
34   SALOMEDS_Study_i*             _study;
35
36 public:
37   SALOMEDS_UseCaseBuilder_i(SALOMEDS_Study_i* theStudy,
38                             const Handle(TDocStd_Document)& theDocument);
39   
40   ~SALOMEDS_UseCaseBuilder_i();
41   
42   CORBA::ORB_var GetORB() const;
43   PortableServer::POA_var GetPOA() const;
44
45   virtual CORBA::Boolean Append(SALOMEDS::SObject_ptr theObject);
46
47   virtual CORBA::Boolean Remove(SALOMEDS::SObject_ptr theObject);
48
49   virtual CORBA::Boolean AppendTo(SALOMEDS::SObject_ptr theFather, SALOMEDS::SObject_ptr theObject);
50
51   virtual CORBA::Boolean InsertBefore(SALOMEDS::SObject_ptr theFirst, SALOMEDS::SObject_ptr theNext);
52
53   virtual CORBA::Boolean  SetCurrentObject(SALOMEDS::SObject_ptr theObject);
54   
55   virtual CORBA::Boolean SetRootCurrent();
56
57   virtual CORBA::Boolean  HasChildren(SALOMEDS::SObject_ptr theObject);
58
59   virtual CORBA::Boolean  IsUseCase(SALOMEDS::SObject_ptr theObject);
60
61   virtual CORBA::Boolean SetName(const char* theName);
62
63   virtual SALOMEDS::SObject_ptr GetCurrentObject();
64
65   virtual char* GetName();
66
67   virtual SALOMEDS::SObject_ptr AddUseCase(const char* theName);
68
69   virtual SALOMEDS::UseCaseIterator_ptr GetUseCaseIterator(SALOMEDS::SObject_ptr anObject);
70
71 };
72 #endif