Salome HOME
9e50d0a8708e8e0aa9463b0bb3919baef0a65671
[modules/kernel.git] / src / SALOMEDSClient / SALOMEDSClient_StudyManager.hxx
1 //  File   : SALOMEDSClient_StudyManager.hxx
2 //  Author : Sergey RUIN
3 //  Module : SALOME
4
5 #ifndef __SALOMEDSClient_STUDYMANAGER_H__
6 #define __SALOMEDSClient_STUDYMANAGER_H__
7
8 #include <vector>
9 #include <string>
10
11 #include "SALOMEDSClient_definitions.hxx"
12 #include "SALOMEDSClient_Study.hxx"
13
14 class SALOMEDSClient_StudyManager
15 {
16 public:
17   virtual ~SALOMEDSClient_StudyManager() {}
18
19   virtual _PTR(Study) NewStudy(const std::string& study_name) = 0;
20   virtual _PTR(Study) Open(const std::string& theStudyUrl) = 0;
21   virtual void Close(const _PTR(Study)& theStudy) = 0;
22   virtual void Save(const _PTR(Study)& theStudy, bool theMultiFile) = 0;
23   virtual void SaveASCII(const _PTR(Study)& theStudy, bool theMultiFile) = 0;
24   virtual void SaveAs(const std::string& theUrl,  const _PTR(Study)& theStudy, bool theMultiFile) = 0;
25   virtual void SaveAsASCII(const std::string& theUrl,  const _PTR(Study)& theStudy, bool theMultiFile) = 0;
26   virtual std::vector<std::string> GetOpenStudies() = 0;
27   virtual _PTR(Study) GetStudyByName(const std::string& theStudyName) = 0;
28   virtual _PTR(Study) GetStudyByID(int theStudyID) = 0;
29   virtual bool CanCopy(const _PTR(SObject)& theSO) = 0;
30   virtual bool Copy(const _PTR(SObject)& theSO) = 0;
31   virtual bool CanPaste(const _PTR(SObject)& theSO) = 0;
32   virtual _PTR(SObject) Paste(const _PTR(SObject)& theSO) = 0;
33   
34 };
35
36 #endif