00001 #ifndef __CHM_LICENSE_H__
00002 #define __CHM_LICENSE_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <time.h>
00024 #include <CHM/CHMminimumInclude.h>
00025
00026 #ifndef __CHM_LICENSE_HANDLE_H__
00027 #define __CHM_LICENSE_HANDLE_H__
00028 typedef void* CHMlicenseHandle;
00029 #endif
00030
00031
00061 class CHMlicense
00062 {
00063 public:
00065 CHMlicense();
00066 CHMlicense(const CHMlicense& Orig);
00067 CHMlicense(CHMlicenseHandle Handle);
00068
00070 virtual ~CHMlicense();
00071
00073 CHMlicense& operator=(const CHMlicense& Orig);
00074
00076 CHMlicenseHandle GetHandle() const { return Handle; }
00077
00078
00087 CHMboolean IsLicensed() const;
00088
00089
00115 const char* Proxy() const;
00116
00117
00125 void SetProxy(const char* Value);
00126
00127
00132 const char* MachineId() const;
00133
00134
00155 const char* FetchRegistrationCode(const char* MachineId, const char* EmailAddress, const char* Password, const char* Description);
00156
00157
00173 void RegisterHost(const char* RegistrationCode);
00174
00175
00197 const char* FetchTrialRegistrationCode(time_t& ExpiryDate, const char* MachineId, const char* EmailAddress, const char* Password, const char* Description);
00198
00199
00221 const char* GetRegistrationCode(time_t& ExpiryDate, const char* LicenseType, const char* MachineId, const char* EmailAddress, const char* Password, const char* Description);
00222
00223
00239 void RegisterTrialHost(const char* RegistrationCode, time_t ExpiryDate);
00240
00241
00242 private:
00243 CHMlicenseHandle Handle;
00244 };
00245
00246 #endif // end of defensive include