00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_QUANT_PROTOCOL_HPP
00018 #define MS_QUANT_PROTOCOL_HPP
00019
00020
00021 #include <string>
00022
00023
00024 namespace msparser_internal {
00025 class ms_quant_xmlloader;
00026 class ms_quant_protocol_impl;
00027 class ms_quant_method_impl;
00028 }
00029
00030 namespace matrix_science {
00031
00032
00033 class ms_quant_parameters;
00034 class ms_quant_reporter;
00035 class ms_quant_precursor;
00036 class ms_quant_replicate;
00037 class ms_quant_average;
00038 class ms_quant_multiplex;
00039 class ms_xml_schema;
00040
00046
00047
00054 class MS_MASCOTRESFILE_API ms_quant_protocol: public ms_xml_IValidatable
00055 {
00056 friend class msparser_internal::ms_quant_xmlloader;
00057 friend class msparser_internal::ms_quant_method_impl;
00058 public:
00060 ms_quant_protocol();
00061
00063 ms_quant_protocol(const ms_quant_protocol& src);
00064
00066 virtual ~ms_quant_protocol();
00067
00069 void defaultValues();
00070
00072 void copyFrom(const ms_quant_protocol* right);
00073
00074 #ifndef SWIG
00075
00076 ms_quant_protocol& operator=(const ms_quant_protocol& right);
00077 #endif
00078
00079 virtual std::string getSchemaType() const;
00080
00082 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00083
00085 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00086
00087
00089 std::string getType() const;
00090
00092 void setNull();
00093
00094
00096 const ms_quant_reporter* getReporter() const;
00097
00099 void setReporter(const ms_quant_reporter* reporter);
00100
00102 std::string getReporterSchemaType() const;
00103
00104
00106 const ms_quant_precursor* getPrecursor() const;
00107
00109 void setPrecursor(const ms_quant_precursor* precursor);
00110
00112 std::string getPrecursorSchemaType() const;
00113
00114
00116 const ms_quant_multiplex* getMultiplex() const;
00117
00119 void setMultiplex(const ms_quant_multiplex* multiplex);
00120
00122 std::string getMultiplexSchemaType() const;
00123
00124
00126 const ms_quant_replicate* getReplicate() const;
00127
00129 void setReplicate(const ms_quant_replicate* replicate);
00130
00132 std::string getReplicateSchemaType() const;
00133
00134
00136 const ms_quant_average* getAverage() const;
00137
00139 void setAverage(const ms_quant_average* average);
00140
00142 std::string getAverageSchemaType() const;
00143
00144 private:
00145
00146 msparser_internal::ms_quant_protocol_impl * m_pImpl;
00147
00148 };
00149
00151
00152 }
00153
00154 #endif // MS_QUANT_PROTOCOL_HPP
00155
00156