00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_QUANT_MODGROUP_HPP
00018 #define MS_QUANT_MODGROUP_HPP
00019
00020
00021 #include <string>
00022 #include <vector>
00023
00024
00025 namespace msparser_internal {
00026 class ms_quant_xmlloader;
00027 }
00028
00029 namespace matrix_science {
00030
00031 class ms_quant_unmodified;
00032 class ms_quant_localdef;
00033 class ms_xml_schema;
00034
00040
00041
00045 class MS_MASCOTRESFILE_API ms_quant_modgroup: public ms_xml_IValidatable
00046 {
00047 friend class msparser_internal::ms_quant_xmlloader;
00048
00049 public:
00051 ms_quant_modgroup();
00052
00054 ms_quant_modgroup(const ms_quant_modgroup& src);
00055
00057 virtual ~ms_quant_modgroup();
00058
00060 void defaultValues();
00061
00063 void copyFrom(const ms_quant_modgroup* right);
00064
00065 #ifndef SWIG
00066
00067 ms_quant_modgroup& operator=(const ms_quant_modgroup& right);
00068 #endif
00069
00070 virtual std::string getSchemaType() const;
00071
00073 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00074
00076 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00077
00078
00080 int getNumberOfModFiles() const;
00081
00083 void clearModFiles();
00084
00086 void appendModFile(const char* mod);
00087
00089 int findModFile(const char* mod) const;
00090
00092 std::string getModFile(const int idx) const;
00093
00095 bool deleteModFile(const int idx);
00096
00098 std::string getModFileSchemaType() const;
00099
00100
00102 int getNumberOfUnmodified() const;
00103
00105 void clearUnmodified();
00106
00108 void appendUnmodified(const ms_quant_unmodified* unmodified);
00109
00111 const ms_quant_unmodified* getUnmodified(const int idx) const;
00112
00114 bool updateUnmodified(const int idx, const ms_quant_unmodified* unmodified);
00115
00117 bool deleteUnmodified(const int idx);
00118
00120 std::string getUnmodifiedSchemaType() const;
00121
00122
00124 int getNumberOfLocalDefinitions() const;
00125
00127 void clearLocalDefinitions();
00128
00130 void appendLocalDefinition(const ms_quant_localdef* localdef);
00131
00133 const ms_quant_localdef* getLocalDefinition(const int idx) const;
00134
00136 bool updateLocalDefinition(const int idx, const ms_quant_localdef* localdef);
00137
00139 bool deleteLocalDefinition(const int idx);
00140
00142 std::string getLocalDefinitionSchemaType() const;
00143
00144
00146 bool haveName() const;
00147
00149 std::string getName() const;
00150
00152 void setName(const char* value);
00153
00155 void dropName();
00156
00158 std::string getNameSchemaType() const;
00159
00160
00162 bool haveMode() const;
00163
00165 std::string getMode() const;
00166
00168 void setMode(const char* value);
00169
00171 void dropMode();
00172
00174 std::string getModeSchemaType() const;
00175
00176
00178 bool haveRequired() const;
00179
00181 bool isRequired() const;
00182
00184 void setRequired(bool value);
00185
00187 void dropRequired();
00188
00190 std::string getRequiredSchemaType() const;
00191
00192 private:
00193
00194 typedef std::vector< std::string > modfile_vector;
00195 modfile_vector _modFiles;
00196
00197 typedef std::vector< ms_quant_unmodified* > unmodified_vector;
00198 unmodified_vector _unmodified;
00199
00200 typedef std::vector< ms_quant_localdef* > localdef_vector;
00201 localdef_vector _localdefs;
00202
00203 std::string _name;
00204 bool _name_set;
00205
00206 std::string _mode;
00207 bool _mode_set;
00208
00209 bool m_required;
00210 bool m_required_set;
00211
00212 };
00213
00215
00216 }
00217
00218 #endif // MS_QUANT_MODGROUP_HPP
00219
00220
00221