Matrix Science header

ms_quant_modgroup.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_quant_modgroup.hpp                                                #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates modification_group-element from "quantitation.xml"-file       #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2006 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: /vol/cvsroot/parser/inc/ms_quant_modgroup.hpp,v $
00012  * @(#)$Revision: 1.9 $
00013  * @(#)$Date: 2010/09/06 16:18:57 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_QUANT_MODGROUP_HPP
00018 #define MS_QUANT_MODGROUP_HPP
00019 
00020 #ifdef _WIN32
00021 #pragma warning(disable:4251)   // Don't want all classes to be exported
00022 #pragma warning(disable:4786)   // Debug symbols too long
00023 #   ifndef _MATRIX_USE_STATIC_LIB
00024 #       ifdef MS_MASCOTRESFILE_EXPORTS
00025 #           define MS_MASCOTRESFILE_API __declspec(dllexport)
00026 #       else
00027 #           define MS_MASCOTRESFILE_API __declspec(dllimport)
00028 #       endif
00029 #   else
00030 #       define MS_MASCOTRESFILE_API
00031 #   endif
00032 #else
00033 #   define MS_MASCOTRESFILE_API
00034 #endif
00035 
00036 #include <string>
00037 #include <vector>
00038 
00039 // forward declarations
00040 namespace msparser_internal {
00041     class ms_quant_xmlloader;
00042 }
00043 
00044 namespace matrix_science {
00045 
00046     class ms_quant_unmodified; // forward declaration
00047     class ms_quant_localdef; // forward declaration
00048     class ms_xml_schema; // forward declaration
00049 
00055 
00056 
00060     class MS_MASCOTRESFILE_API ms_quant_modgroup: public ms_xml_IValidatable
00061     {
00062         friend class msparser_internal::ms_quant_xmlloader;
00063 
00064     public:
00066         ms_quant_modgroup();
00067 
00069         ms_quant_modgroup(const ms_quant_modgroup& src);
00070 
00072         virtual ~ms_quant_modgroup();
00073 
00075         void defaultValues();
00076 
00078         void copyFrom(const ms_quant_modgroup* right);
00079 
00080 #ifndef SWIG
00081 
00082         ms_quant_modgroup& operator=(const ms_quant_modgroup& right);
00083 #endif
00084 
00085         virtual std::string getSchemaType() const;
00086 
00088         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00089 
00091         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00092 
00093 
00095         int getNumberOfModFiles() const;
00096 
00098         void clearModFiles();
00099 
00101         void appendModFile(const char* mod);
00102 
00104         int findModFile(const char* mod) const;
00105 
00107         std::string getModFile(const int idx) const;
00108 
00110         bool deleteModFile(const int idx);
00111 
00113         std::string getModFileSchemaType() const;
00114 
00115 
00117         int getNumberOfUnmodified() const;
00118 
00120         void clearUnmodified();
00121 
00123         void appendUnmodified(const ms_quant_unmodified* unmodified);
00124 
00126         const ms_quant_unmodified* getUnmodified(const int idx) const;
00127 
00129         bool updateUnmodified(const int idx, const ms_quant_unmodified* unmodified);
00130 
00132         bool deleteUnmodified(const int idx);
00133 
00135         std::string getUnmodifiedSchemaType() const;
00136 
00137 
00139         int getNumberOfLocalDefinitions() const;
00140 
00142         void clearLocalDefinitions();
00143 
00145         void appendLocalDefinition(const ms_quant_localdef* localdef);
00146 
00148         const ms_quant_localdef* getLocalDefinition(const int idx) const;
00149 
00151         bool updateLocalDefinition(const int idx, const ms_quant_localdef* localdef);
00152 
00154         bool deleteLocalDefinition(const int idx);
00155 
00157         std::string getLocalDefinitionSchemaType() const;
00158 
00159 
00161         bool haveName() const;
00162 
00164         std::string getName() const;
00165 
00167         void setName(const char* value);
00168 
00170         void dropName();
00171 
00173         std::string getNameSchemaType() const;
00174 
00175 
00177         bool haveMode() const;
00178 
00180         std::string getMode() const;
00181 
00183         void setMode(const char* value);
00184 
00186         void dropMode();
00187 
00189         std::string getModeSchemaType() const;
00190 
00191 
00193         bool haveRequired() const;
00194 
00196         bool isRequired() const;
00197 
00199         void setRequired(bool value);
00200 
00202         void dropRequired();
00203 
00205         std::string getRequiredSchemaType() const;
00206 
00207     private:
00208 
00209         typedef std::vector< std::string > modfile_vector;
00210         modfile_vector _modFiles;
00211 
00212         typedef std::vector< ms_quant_unmodified* > unmodified_vector;
00213         unmodified_vector _unmodified;
00214 
00215         typedef std::vector< ms_quant_localdef* > localdef_vector;
00216         localdef_vector _localdefs;
00217 
00218         std::string _name;
00219         bool _name_set;
00220 
00221         std::string _mode;
00222         bool _mode_set;
00223 
00224         bool m_required;
00225         bool m_required_set;
00226 
00227     }; // class ms_quant_modgroup
00228  // end of config_group
00230 
00231 } // namespace matrix_science
00232 
00233 #endif // MS_QUANT_MODGROUP_HPP
00234 
00235 /*------------------------------- End of File -------------------------------*/
00236 
Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:51