Matrix Science header

ms_umod_element.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_umod_element.hpp                                                  #
00004 # 'msparser' toolkit                                                         #
00005 # Represents chemical element information from unimod.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_umod_element.hpp,v $
00012  * @(#)$Revision: 1.8 $
00013  * @(#)$Date: 2010/09/06 16:18:57 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_UMOD_ELEMENT_HPP
00018 #define MS_UMOD_ELEMENT_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_umod_xmlloader;
00042 }
00043 
00044 namespace matrix_science {
00045 
00046     class ms_xml_schema; // forward declaration
00047 
00053 
00054     class MS_MASCOTRESFILE_API ms_umod_element: public ms_xml_IValidatable
00055     {
00056         friend class msparser_internal::ms_umod_xmlloader;
00057         friend class ms_umod_configfile;
00058 
00059     public:
00061         ms_umod_element();
00062 
00064         ms_umod_element(const ms_umod_element& src);
00065 
00067         virtual ~ms_umod_element();
00068 
00070         void defaultValues();
00071 
00073         void copyFrom(const ms_umod_element* right);
00074 
00075 #ifndef SWIG
00076 
00077         ms_umod_element& operator=(const ms_umod_element& right);
00078 #endif
00079 
00080         virtual std::string getSchemaType() const;
00081 
00083         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00084 
00086         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00087 
00088 
00090         bool haveTitle() const;
00091 
00093         std::string getTitle() const;
00094 
00096         void setTitle(const char* value);
00097 
00099         void dropTitle();
00100 
00102         std::string getTitleSchemaType() const;
00103 
00104 
00106         bool haveFullName() const;
00107 
00109         std::string getFullName() const;
00110 
00112         void setFullName(const char* value);
00113 
00115         void dropFullName();
00116 
00118         std::string getFullNameSchemaType() const;
00119 
00120 
00122         bool haveAvgeMass() const;
00123 
00125         std::string getAvgeMass() const;
00126 
00128         double getAvgeMassAsNumber() const;
00129 
00131         bool setAvgeMass(const char* value, ms_errs* err = NULL);
00132 
00134         void dropAvgeMass();
00135 
00137         std::string getAvgeMassSchemaType() const;
00138 
00139 
00141         bool haveMonoMass() const;
00142 
00144         std::string getMonoMass() const;
00145 
00147         double getMonoMassAsNumber() const;
00148 
00150         bool setMonoMass(const char* value, ms_errs* err = NULL);
00151 
00153         void dropMonoMass();
00154 
00156         std::string getMonoMassSchemaType() const;
00157 
00158     private:
00159         std::string _title;
00160         bool _title_set;
00161 
00162         std::string _fullName;
00163         bool _fullName_set;
00164 
00165         std::string _avgeMass;
00166         double _avgeMassDouble;
00167         bool _avgeMass_set;
00168 
00169         std::string _monoMass;
00170         double _monoMassDouble;
00171         bool _monoMass_set;
00172     }; // class ms_umod_element
00173  // end of config_group
00175 
00176 } // namespace matrix_science
00177 
00178 #endif // MS_UMOD_ELEMENT_HPP
00179 
00180 /*------------------------------- End of File -------------------------------*/
Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:51