#include "precomp.h" #include #include "licensingclient.h" #include "licensevalidationargs.h" #include "licensevalidationresult.h" using namespace std; namespace ANSCENTER { namespace Licensing { template<> LicensingClientT::LicensingClientT(): m_Impl(*(new LicensingClientImpl(this, true))) { } template<> LicensingClientT::LicensingClientT(): m_Impl(*(new LicensingClientImpl(this, false))) { } template<> LicensingClientT::~LicensingClientT() { delete & m_Impl; } template<> LicensingClientT::~LicensingClientT() { delete & m_Impl; } template<> void LicensingClientT::SetLicenseTemplate(LicenseTemplateT * tmpl) { m_Impl.SetLicenseTemplate(&tmpl->m_Impl); } template<> void LicensingClientT::SetLicenseTemplate(LicenseTemplateT * tmpl) { m_Impl.SetLicenseTemplate(&tmpl->m_Impl); } template<> void LicensingClientT::SetLicenseKey(const char * key) { m_Impl.SetLicenseKey(key); } template<> void LicensingClientT::SetLicenseKey(const wchar_t * key) { m_Impl.SetLicenseKey(w2s(key).c_str()); } template<> void LicensingClientT::SetActivationKey(const char * key) { m_Impl.SetActivationKey(key); } template<> void LicensingClientT::SetActivationKey(const wchar_t * key) { m_Impl.SetActivationKey(w2s(key).c_str()); } template<> const char * LicensingClientT::GetActivationKey() { return m_Impl.GetActivationKey(); } template<> const wchar_t * LicensingClientT::GetActivationKey() { static wstring wstr1; wstr1 = s2w(m_Impl.GetActivationKey()); return wstr1.c_str(); } template<> void LicensingClientT::SetHardwareId(const char * hwid) { m_Impl.SetHardwareId(hwid); } template<> void LicensingClientT::SetHardwareId(const wchar_t * hwid) { m_Impl.SetHardwareId(w2s(hwid).c_str()); } template<> const char * LicensingClientT::GetHardwareId() { return m_Impl.GetHardwareId(); } template<> const wchar_t * LicensingClientT::GetHardwareId() { static wstring wstr1; wstr1 = s2w(m_Impl.GetHardwareId()); return wstr1.c_str(); } template<> const wchar_t * LicensingClientT::GetCurrentHardwareId() { static wstring wstr1; wstr1 = s2w(m_Impl.GetCurrentHardwareId()); return wstr1.c_str(); } template<> const char * LicensingClientT::GetCurrentHardwareId() { return m_Impl.GetCurrentHardwareId(); } template<> bool LicensingClientT::MatchCurrentHardwareId(const char * hwid) { return m_Impl.MatchCurrentHardwareId(hwid); } template<> bool LicensingClientT::MatchCurrentHardwareId(const wchar_t * hwid) { return m_Impl.MatchCurrentHardwareId(w2s(hwid).c_str()); } template<> void LicensingClientT::SetLicensingServiceUrl(const char * url) { m_Impl.SetLicensingServiceUrl(url); } template<> void LicensingClientT::SetLicensingServiceUrl(const wchar_t * url) { m_Impl.SetLicensingServiceUrl(w2s(url).c_str()); } template<> void LicensingClientT::SetLicenseTemplateId(const char * templateId) { m_Impl.SetLicenseTemplateId(templateId); } template<> void LicensingClientT::SetLicenseTemplateId(const wchar_t * templateId) { m_Impl.SetLicenseTemplateId(w2s(templateId).c_str()); } template<> void LicensingClientT::AcquireLicense() { m_Impl.AcquireLicense(); } template<> void LicensingClientT::AcquireLicense() { m_Impl.AcquireLicense(); } template<> bool LicensingClientT::IsLicenseValid() { return m_Impl.IsLicenseValid(); } template<> bool LicensingClientT::IsLicenseValid() { return m_Impl.IsLicenseValid(); } template<> LicenseValidationResultT * LicensingClientT::ValidateLicense(LicenseValidationArgsT * args) { static LicenseValidationResultT result; auto& resultImpl = m_Impl.ValidateLicense(&args->m_Impl); result.m_Impl.MoveFrom(resultImpl); return &result; } template<> LicenseValidationResultT * LicensingClientT::ValidateLicense(LicenseValidationArgsT * args) { static LicenseValidationResultT result; auto& resultImpl = m_Impl.ValidateLicense(&args->m_Impl); result.m_Impl.MoveFrom(resultImpl); return &result; } template<> void LicensingClientT::SetLicenseKeyValidationData(void * data, int len) { return m_Impl.SetLicenseKeyValidationData(data, len); } template<> void LicensingClientT::SetLicenseKeyValidationData(void * data, int len) { return m_Impl.SetLicenseKeyValidationData(data, len); } template<> int LicensingClientT::GetLicenseActivationStatus() { return m_Impl.GetLicenseActivationStatus(); } template<> int LicensingClientT::GetLicenseActivationStatus() { return m_Impl.GetLicenseActivationStatus(); } template<> void LicensingClientT::GetLicenseExpirationDate(int * year, int * month, int * day) { m_Impl.GetLicenseExpirationDate(year, month, day); } template<> void LicensingClientT::GetLicenseExpirationDate(int * year, int * month, int * day) { m_Impl.GetLicenseExpirationDate(year, month, day); } template<> void LicensingClientT::SetTimeValidationMethod(int method) { return m_Impl.SetTimeValidationMethod(method); } template<> void LicensingClientT::SetTimeValidationMethod(int method) { return m_Impl.SetTimeValidationMethod(method); } }; }; const wchar_t * GetCurrentHardwareIdW(void * licensingClient) { static std::wstring result = ((ANSCENTER::Licensing::LicensingClientT *)licensingClient)->GetCurrentHardwareId(); return result.c_str(); } const char * GetCurrentHardwareIdA(void * licensingClient) { return ((ANSCENTER::Licensing::LicensingClientT *)licensingClient)->GetCurrentHardwareId(); } bool MatchCurrentHardwareIdW(void * licensingClient, const wchar_t * hwid) { return ((ANSCENTER::Licensing::LicensingClientT *)licensingClient)->MatchCurrentHardwareId(hwid); } bool MatchCurrentHardwareIdA(void * licensingClient, const char * hwid) { return ((ANSCENTER::Licensing::LicensingClientT *)licensingClient)->MatchCurrentHardwareId(hwid); }