Matrix Science header

ms_license.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_license.hpp                                                       #
00004 # 'msparser' toolkit                                                         #
00005 # Provides read-only interface for mascot license file                       #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2003 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011 #    $Archive:: /Mowse/ms_mascotresfile/include/ms_license.hpp             $ #
00012 #     $Author: patricke $ #
00013 #       $Date: 2015/07/21 13:56:31 $ #
00014 #   $Revision: 1.10 $ #
00015 # $NoKeywords::                                                            $ #
00016 ##############################################################################
00017 */
00018 
00019 #ifndef MS_LICENSE_HPP
00020 #define MS_LICENSE_HPP
00021 
00022 #ifdef _WIN32
00023 #pragma warning(disable:4251)   // Don't want all classes to be exported
00024 #pragma warning(disable:4786)   // Debug symbols too long
00025 #   ifndef _MATRIX_USE_STATIC_LIB
00026 #       ifdef MS_MASCOTRESFILE_EXPORTS
00027 #           define MS_MASCOTRESFILE_API __declspec(dllexport)
00028 #       else
00029 #           define MS_MASCOTRESFILE_API __declspec(dllimport)
00030 #       endif
00031 #   else
00032 #       define MS_MASCOTRESFILE_API
00033 #   endif
00034 #else
00035 #   define MS_MASCOTRESFILE_API
00036 #endif
00037 
00038 // for the sake of #include <string>
00039 #ifdef __ALPHA_UNIX__
00040 #include <ctype.h>
00041 #endif
00042 #include <string>
00043 
00044 
00045 namespace matrix_science {
00051 
00052 
00070     class MS_MASCOTRESFILE_API ms_license: public ms_errors
00071     {
00072     public:
00074         ms_license();
00075 
00077         ms_license(const ms_license& src);
00078 
00080         ms_license(const char* filename);
00081 
00083         ~ms_license();
00084 
00086         void defaultValues();
00087 
00089         void copyFrom(const ms_license* right);
00090 
00091 #ifndef SWIG
00092 
00093         ms_license& operator=(const ms_license& right);
00094 #endif
00095 
00096         std::string getFileName() const;
00097 
00099         void setFileName(const char* filename);
00100 
00102         void read_file();
00103 
00105         bool isLicenseValid() const;
00106 
00108         std::string getLicenseString() const;
00109 
00111         std::string getLicenseVersion() const;
00112 
00114         std::string getStartDate() const;
00115 
00117         std::string getEndDate() const;
00118 
00120         int getNumProcessorsLicensed() const;
00121 
00123         std::string getLicensee() const;
00124 
00126         std::string getDistributor() const;
00127 
00129         std::string getFeatures() const;
00130 
00131         int getInternalConfigurationCode() const;
00132 
00133     private:
00134         bool loadLicenseFile(FILE *f);
00135         bool checkLicenseValid(const char* startDate, const char* endDate);
00136         int  calcChecksum(void* entity);
00137         void formLicenseString();
00138         void checkInternalConfiguration();
00139 
00140         bool bLicenseValid_;
00141         std::string filename_;
00142         std::string strLicenseString_;
00143 
00144         std::string licenseVer_;
00145         std::string startDate_;
00146         std::string endDate_;
00147         int processors_;
00148         std::string licensee_;
00149         std::string distributor_;
00150         std::string features_;
00151 
00152         int internalConfigurationCode_;
00153     }; // class ms_license // end of config_group
00155 } // namespace matrix_science
00156 
00157 #endif // MS_LICENSE_HPP
00158 
00159 /*------------------------------- End of File -------------------------------*/
Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:51