2020-10-02 07:30:24 +00:00
|
|
|
#include <algorithm>
|
2021-06-09 08:23:09 +00:00
|
|
|
#include <map>
|
|
|
|
|
|
2020-10-02 07:19:13 +00:00
|
|
|
#include "SerialKeyEdition.h"
|
|
|
|
|
|
|
|
|
|
const std::string SerialKeyEdition::PRO = "pro";
|
2021-06-09 08:23:09 +00:00
|
|
|
const std::string SerialKeyEdition::PRO_CHINA = "pro_china";
|
2020-10-02 07:19:13 +00:00
|
|
|
const std::string SerialKeyEdition::BASIC = "basic";
|
2021-06-09 08:23:09 +00:00
|
|
|
const std::string SerialKeyEdition::BASIC_CHINA = "basic_china";
|
2020-10-02 07:19:13 +00:00
|
|
|
const std::string SerialKeyEdition::BUSINESS = "business";
|
|
|
|
|
const std::string SerialKeyEdition::UNREGISTERED = "unregistered";
|
|
|
|
|
|
|
|
|
|
SerialKeyEdition::SerialKeyEdition()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SerialKeyEdition::SerialKeyEdition(Edition type) :
|
|
|
|
|
m_Type(type)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SerialKeyEdition::SerialKeyEdition(const std::string &type)
|
|
|
|
|
{
|
|
|
|
|
setType(type);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Edition
|
|
|
|
|
SerialKeyEdition::getType() const
|
|
|
|
|
{
|
|
|
|
|
return m_Type;
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-02 07:48:17 +00:00
|
|
|
std::string
|
2020-10-02 07:19:13 +00:00
|
|
|
SerialKeyEdition::getName() const
|
|
|
|
|
{
|
|
|
|
|
std::string Name;
|
|
|
|
|
|
|
|
|
|
switch(getType()){
|
|
|
|
|
case kPro:
|
|
|
|
|
Name = PRO;
|
|
|
|
|
break;
|
|
|
|
|
case kBasic:
|
|
|
|
|
Name = BASIC;
|
|
|
|
|
break;
|
|
|
|
|
case kBusiness:
|
|
|
|
|
Name = BUSINESS;
|
|
|
|
|
break;
|
|
|
|
|
case kUnregistered:
|
|
|
|
|
Name = UNREGISTERED;
|
|
|
|
|
break;
|
2021-06-09 08:23:09 +00:00
|
|
|
case kBasic_China:
|
|
|
|
|
Name = BASIC_CHINA;
|
|
|
|
|
break;
|
|
|
|
|
case kPro_China:
|
|
|
|
|
Name = PRO_CHINA;
|
|
|
|
|
break;
|
2020-10-02 07:19:13 +00:00
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Name;
|
|
|
|
|
}
|
|
|
|
|
|
2020-10-02 07:48:17 +00:00
|
|
|
std::string
|
2020-10-02 07:19:13 +00:00
|
|
|
SerialKeyEdition::getDisplayName() const
|
|
|
|
|
{
|
2021-06-09 08:23:09 +00:00
|
|
|
const std::string ApplicationName = "Synergy 1 ";
|
|
|
|
|
std::string DisplayName(ApplicationName);
|
|
|
|
|
|
|
|
|
|
switch (getType())
|
|
|
|
|
{
|
|
|
|
|
case kBasic_China:
|
|
|
|
|
DisplayName = "Synergy 中文版";
|
|
|
|
|
break;
|
|
|
|
|
case kPro_China:
|
|
|
|
|
DisplayName = "Synergy Pro 中文版";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
std::string EditionName = getName();
|
|
|
|
|
if (!EditionName.empty()){
|
|
|
|
|
if (EditionName == UNREGISTERED){
|
|
|
|
|
std::transform(EditionName.begin(), EditionName.end(), EditionName.begin(), ::toupper);
|
|
|
|
|
EditionName = "(" + EditionName +")";
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
EditionName[0] = static_cast<char>(::toupper(EditionName[0]));
|
|
|
|
|
}
|
|
|
|
|
DisplayName = ApplicationName + EditionName;
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-10-02 07:19:13 +00:00
|
|
|
|
2021-06-09 08:23:09 +00:00
|
|
|
return DisplayName;
|
2020-10-02 07:19:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
SerialKeyEdition::setType(Edition type)
|
|
|
|
|
{
|
|
|
|
|
m_Type = type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
SerialKeyEdition::setType(const std::string& type)
|
|
|
|
|
{
|
2021-06-09 08:23:09 +00:00
|
|
|
static const std::map<std::string, Edition> types = {
|
|
|
|
|
{BASIC, kBasic},
|
|
|
|
|
{PRO, kPro},
|
|
|
|
|
{BUSINESS, kBusiness},
|
|
|
|
|
{BASIC_CHINA, kBasic_China},
|
|
|
|
|
{PRO_CHINA, kPro_China}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const auto& pType = types.find(type);
|
|
|
|
|
|
|
|
|
|
if (pType != types.end()) {
|
|
|
|
|
m_Type = pType->second;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
m_Type = kUnregistered;
|
|
|
|
|
}
|
2020-10-02 07:19:13 +00:00
|
|
|
}
|