1 // File : SALOMEDSClient_UseCaseBuilder.hxx
2 // Author : Sergey RUIN
5 #ifndef __SALOMEDSClient_USECaseBuilder_H__
6 #define __SALOMEDSClient_USECaseBuilder_H__
9 #include "SALOMEDSClient_definitions.hxx"
10 #include "SALOMEDSClient_UseCaseIterator.hxx"
11 #include "SALOMEDSClient_SObject.hxx"
13 class SALOMEDSClient_UseCaseBuilder
16 virtual ~SALOMEDSClient_UseCaseBuilder() {}
18 virtual bool Append(const _PTR(SObject)& theObject) = 0;
19 virtual bool Remove(const _PTR(SObject)& theObject) = 0;
20 virtual bool AppendTo(const _PTR(SObject)& theFather, _PTR(SObject) theObject) = 0;
21 virtual bool InsertBefore(const _PTR(SObject)& theFirst, _PTR(SObject) theNext) = 0;
22 virtual bool SetCurrentObject(const _PTR(SObject)& theObject) = 0;
23 virtual bool SetRootCurrent() = 0;
24 virtual bool HasChildren(const _PTR(SObject)& theObject) = 0;
25 virtual bool IsUseCase(const _PTR(SObject)& theObject) = 0;
26 virtual bool SetName(const std::string& theName) = 0;
27 virtual _PTR(SObject) GetCurrentObject() = 0;
28 virtual std::string GetName() = 0;
29 virtual _PTR(SObject) AddUseCase(const std::string& theName) = 0;
30 virtual _PTR(UseCaseIterator) GetUseCaseIterator(const _PTR(SObject)& anObject) = 0;