1 // File : SALOMEDSClient_Study.hxx
2 // Author : Sergey RUIN
5 #ifndef __SALOMEDSClient_STUDY_H__
6 #define __SALOMEDSClient_STUDY_H__
11 #include "SALOMEDSClient_definitions.hxx"
12 #include "SALOMEDSClient_SComponentIterator.hxx"
13 #include "SALOMEDSClient_StudyBuilder.hxx"
14 #include "SALOMEDSClient_SObject.hxx"
15 #include "SALOMEDSClient_SComponent.hxx"
16 #include "SALOMEDSClient_UseCaseBuilder.hxx"
17 #include "SALOMEDSClient_AttributeStudyProperties.hxx"
18 #include "SALOMEDSClient_ChildIterator.hxx"
20 class SALOMEDSClient_Study
24 virtual ~SALOMEDSClient_Study() {}
26 virtual std::string GetPersistentReference() = 0;
27 virtual std::string GetTransientReference() = 0;
28 virtual bool IsEmpty() = 0;
29 virtual _PTR(SComponent) FindComponent (const std::string& aComponentName) = 0;
30 virtual _PTR(SComponent) FindComponentID(const std::string& aComponentID) = 0;
31 virtual _PTR(SObject) FindObject(const std::string& anObjectName) = 0;
32 virtual std::vector<_PTR(SObject)> FindObjectByName( const std::string& anObjectName, const std::string& aComponentName ) = 0;
33 virtual _PTR(SObject) FindObjectID(const std::string& anObjectID) = 0;
34 virtual _PTR(SObject) CreateObjectID(const std::string& anObjectID) = 0;
35 virtual _PTR(SObject) FindObjectIOR(const std::string& anObjectIOR) = 0;
36 virtual _PTR(SObject) FindObjectByPath(const std::string& thePath) = 0;
37 virtual std::string GetObjectPath(const _PTR(SObject)& theSO) = 0;
38 virtual void SetContext(const std::string& thePath) = 0;
39 virtual std::string GetContext() = 0;
40 virtual std::vector<std::string> GetObjectNames(const std::string& theContext) = 0;
41 virtual std::vector<std::string> GetDirectoryNames(const std::string& theContext) = 0;
42 virtual std::vector<std::string> GetFileNames(const std::string& theContext) = 0;
43 virtual std::vector<std::string> GetComponentNames(const std::string& theContext) = 0;
44 virtual _PTR(ChildIterator) NewChildIterator(const _PTR(SObject)& theSO) = 0;
45 virtual _PTR(SComponentIterator) NewComponentIterator() = 0;
46 virtual _PTR(StudyBuilder) NewBuilder() = 0;
47 virtual std::string Name() = 0;
48 virtual void Name(const std::string& name) = 0;
49 virtual bool IsSaved() = 0;
50 virtual void IsSaved(bool save) = 0;
51 virtual bool IsModified() = 0;
52 virtual std::string URL() = 0;
53 virtual void URL(const std::string& url) = 0;
54 virtual int StudyId() = 0;
55 virtual void StudyId(int id) = 0;
56 virtual std::vector<_PTR(SObject)> FindDependances(const _PTR(SObject)& theSO) = 0;
57 virtual _PTR(AttributeStudyProperties) GetProperties() = 0;
58 virtual std::string GetLastModificationDate() = 0;
59 virtual std::vector<std::string> GetModificationsDate() = 0;
60 virtual _PTR(UseCaseBuilder) GetUseCaseBuilder() = 0;
61 virtual void Close() = 0;
62 virtual void EnableUseCaseAutoFilling(bool isEnabled) = 0;
63 virtual bool DumpStudy(const std::string& thePath, const std::string& theBaseName, bool isPublished) = 0;