00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_DISTILLER_MASTER_PROJECT_HPP
00018 #define MS_DISTILLER_MASTER_PROJECT_HPP
00019
00020
00021
00022 #include <string>
00023
00024
00025 namespace msparser_internal
00026 {
00027 class ms_XMLHelper;
00028 class ms_XMLElement;
00029 }
00030
00031 namespace matrix_science
00032 {
00033
00039 class ms_distiller_master_search;
00040 class ms_distiller_sub_project;
00041
00043
00046 class MS_MASCOTRESFILE_API ms_distiller_master_project :
00047 public matrix_science::ms_errors
00048 {
00049 public:
00050 ms_distiller_master_project();
00051 virtual ~ms_distiller_master_project() { }
00052
00053 ms_distiller_master_project(const ms_distiller_master_project & src);
00054 #ifndef SWIG
00055 ms_distiller_master_project& operator=(const ms_distiller_master_project & right);
00056 #endif
00057 void copyFrom(const ms_distiller_master_project * right);
00058
00060 static std::string getMasterProjectStreamName();
00061
00063 virtual int getNumSubprojects() const;
00065 virtual const ms_distiller_sub_project & getSubproject(int index) const;
00066
00068 virtual int getNumSearches() const;
00070 virtual const ms_distiller_master_search & getSearch(int index) const;
00071
00073 virtual bool loadXml(const char * xmlSchemaPath, std::string xmlText);
00075 virtual bool loadXmlFile(const char * xmlSchemaPath, std::string xmlFilename);
00077 virtual bool loadXmlStream(const char * xmlSchemaPath, matrix_science::ms_input_string_stream * xmlStream);
00078
00079 private:
00080 bool extractXml(msparser_internal::ms_XMLHelper & helper);
00081
00082 std::vector<ms_distiller_sub_project> subprojects;
00083 std::vector<ms_distiller_master_search> searches;
00084 };
00085
00087
00088
00089 }
00090
00091 #endif // MS_DISTILLER_MASTER_PROJECT_HPP
00092
00093