1 // SALOME SALOMEDS : data structure of SALOME and sources of Salome data server
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : SALOMEDS_UseCaseBuilder_i.hxx
8 // Author : Yves FRICAUD
11 #ifndef __SALOMEDS_USECaseBuilder_I_H__
12 #define __SALOMEDS_USECaseBuilder_I_H__
15 #include <SALOMEconfig.h>
16 #include CORBA_SERVER_HEADER(SALOMEDS)
17 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
20 #include <TDataStd_TreeNode.hxx>
21 #include <TDocStd_Document.hxx>
23 class SALOMEDS_Study_i;
25 class SALOMEDS_UseCaseBuilder_i: public POA_SALOMEDS::UseCaseBuilder,
26 public PortableServer::RefCountServantBase
28 SALOMEDS_UseCaseBuilder_i(); // Not implemented
29 void operator=(const SALOMEDS_UseCaseBuilder_i&); // Not implemented
32 Handle(TDataStd_TreeNode) _root;
33 Handle(TDocStd_Document) _doc;
34 SALOMEDS_Study_i* _study;
37 SALOMEDS_UseCaseBuilder_i(SALOMEDS_Study_i* theStudy,
38 const Handle(TDocStd_Document)& theDocument);
40 ~SALOMEDS_UseCaseBuilder_i();
42 CORBA::ORB_var GetORB() const;
43 PortableServer::POA_var GetPOA() const;
45 virtual CORBA::Boolean Append(SALOMEDS::SObject_ptr theObject);
47 virtual CORBA::Boolean Remove(SALOMEDS::SObject_ptr theObject);
49 virtual CORBA::Boolean AppendTo(SALOMEDS::SObject_ptr theFather, SALOMEDS::SObject_ptr theObject);
51 virtual CORBA::Boolean InsertBefore(SALOMEDS::SObject_ptr theFirst, SALOMEDS::SObject_ptr theNext);
53 virtual CORBA::Boolean SetCurrentObject(SALOMEDS::SObject_ptr theObject);
55 virtual CORBA::Boolean SetRootCurrent();
57 virtual CORBA::Boolean HasChildren(SALOMEDS::SObject_ptr theObject);
59 virtual CORBA::Boolean IsUseCase(SALOMEDS::SObject_ptr theObject);
61 virtual CORBA::Boolean SetName(const char* theName);
63 virtual SALOMEDS::SObject_ptr GetCurrentObject();
65 virtual char* GetName();
67 virtual SALOMEDS::SObject_ptr AddUseCase(const char* theName);
69 virtual SALOMEDS::UseCaseIterator_ptr GetUseCaseIterator(SALOMEDS::SObject_ptr anObject);