Matrix Science header

ms_umod_xref.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_umod_xref.hpp                                                     #
00004 # 'msparser' toolkit                                                         #
00005 # Represents 'xref_t' type in 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_xref.hpp,v $
00012  * @(#)$Revision: 1.10 $
00013  * @(#)$Date: 2016/05/25 12:57:48 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_UMOD_XREF_HPP
00018 #define MS_UMOD_XREF_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_xref: public ms_xml_IValidatable
00055     {
00056         friend class msparser_internal::ms_umod_xmlloader;
00057 
00058     public:
00060         ms_umod_xref();
00061 
00063         ms_umod_xref(const ms_umod_xref& src);
00064 
00066         virtual ~ms_umod_xref();
00067 
00069         void defaultValues();
00070 
00072         void copyFrom(const ms_umod_xref* right);
00073 
00074 #ifndef SWIG
00075 
00076         ms_umod_xref& operator=(const ms_umod_xref& 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         bool haveText() const;
00090 
00092         std::string getText() const;
00093 
00095         void setText(const char* value);
00096 
00098         void dropText();
00099 
00101         std::string getTextSchemaType() const;
00102 
00103 
00105         bool haveSource() const;
00106 
00108         std::string getSource() const;
00109 
00111         void setSource(const char* value);
00112 
00114         void dropSource();
00115 
00117         std::string getSourceSchemaType() const;
00118 
00119 
00121         bool haveUrl() const;
00122 
00124         std::string getUrl() const;
00125 
00127         void setUrl(const char* value);
00128 
00130         void dropUrl();
00131 
00133         std::string getUrlSchemaType() const;
00134 
00136         bool isSameAs(const ms_umod_xref& right) const;
00137 
00138     private:
00139 
00140         std::string _text;
00141         bool _text_set;
00142 
00143         std::string _source;
00144         bool _source_set;
00145 
00146         std::string _url;
00147         bool _url_set;
00148     }; // class ms_umod_xref
00149  // end of config_group
00151 
00152 } // namespace matrix_science
00153 
00154 #endif // MS_UMOD_XREF_HPP
00155 
00156 /*------------------------------- End of File -------------------------------*/
Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:51