upravy
This commit is contained in:
@@ -6,17 +6,6 @@
|
||||
#include "pugixml.hpp"
|
||||
#include <typeinfo>
|
||||
|
||||
ELCType licElcType = ELCType::ELC2;
|
||||
LicenceType licLicenceType;
|
||||
PlcType licPlcType;
|
||||
|
||||
uint8_t licenceVersion = 1; // verze licence, určitě kodování, pojmenování souborů
|
||||
uint8_t licenceIndex = 0;
|
||||
uint8_t revision;
|
||||
uint8_t licCompatibility = 1; // identikator hlavního ELC
|
||||
|
||||
|
||||
|
||||
LicenceGenerator::LicenceGenerator()
|
||||
{
|
||||
}
|
||||
@@ -59,291 +48,6 @@ LicenceGenerator::LicenceGenerator(string uid, string cid, string csd, string da
|
||||
}
|
||||
}
|
||||
|
||||
LicenceGenerator::LicenceGenerator(map<string, string> &arguments)
|
||||
{
|
||||
}
|
||||
|
||||
LicenceGenerator::LicenceGenerator(int elcType, int licenceType, int licenceVersion, int licenceIndex, int compatibility)
|
||||
{
|
||||
this->licIdentification.licElcType = (ELCType)elcType;
|
||||
this->licIdentification.licLicenceType = (LicenceType)licenceType;
|
||||
this->licIdentification.licenceVersion = licenceVersion;
|
||||
this->licIdentification.licenceIndex = licenceIndex;
|
||||
this->licIdentification.licCompatibility = compatibility;
|
||||
}
|
||||
|
||||
/// @brief inicializace generátoru a načtení licenčních bodů
|
||||
/// @param elcType
|
||||
/// @param licenceType
|
||||
/// @param licenceVersion
|
||||
/// @param licenceIndex
|
||||
/// @param compatibility
|
||||
/// @return
|
||||
bool LicenceGenerator::initread(InitStructure &initStructure)
|
||||
{
|
||||
try
|
||||
{
|
||||
elcSwitchType = initStructure.elcType * 10 + licCompatibility;
|
||||
|
||||
if (init(initStructure))
|
||||
{
|
||||
switch (elcSwitchType)
|
||||
{
|
||||
case 11:
|
||||
{ // old eoseov
|
||||
LicenceELC11 licence = LicenceELC11(this->licIdentification);
|
||||
licence.cid_cdsPath = initStructure.cid_csd_filePath;
|
||||
licence.licenceFilePath = initStructure.licenceFilePath;;
|
||||
licence.readLicence(&this->licenceInfo);
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
LicenceELC21 licence = LicenceELC21(this->licIdentification);
|
||||
this->licence21 = &licence;
|
||||
licence.cid_cdsPath = initStructure.cid_csd_filePath;
|
||||
licence.licenceFilePath = initStructure.licenceFilePath;;
|
||||
this->licence21->readLicence(&this->licenceInfo);
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
LicenceELC31 licence = LicenceELC31(this->licIdentification);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true; // TODO testy
|
||||
}
|
||||
|
||||
bool LicenceGenerator::initread(int elcType, int licenceType, int licenceVersion, int licenceIndex, int compatibility)
|
||||
{
|
||||
try
|
||||
{
|
||||
elcSwitchType = elcType * 10 + licCompatibility;
|
||||
|
||||
if (init(elcType, licenceType, licenceVersion, licenceIndex, compatibility))
|
||||
{
|
||||
switch (elcSwitchType)
|
||||
{
|
||||
case 11:
|
||||
{ // old eoseov
|
||||
LicenceELC11 licence = LicenceELC11(this->licIdentification);
|
||||
licence.readLicence(&this->licenceInfo);
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
LicenceELC21 licence = LicenceELC21(this->licIdentification);
|
||||
this->licence21 = &licence;
|
||||
this->licence21->readLicence(&this->licenceInfo);
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
LicenceELC31 licence = LicenceELC31(this->licIdentification);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true; // TODO testy
|
||||
}
|
||||
|
||||
/// @brief inicicialize generátoro, pouze vstupní kontrola
|
||||
/// @param elcType
|
||||
/// @param licenceType
|
||||
/// @param licenceVersion
|
||||
/// @param licenceIndex
|
||||
/// @param compatibility
|
||||
/// @return
|
||||
bool LicenceGenerator::init(int elcType, int licenceType, int licenceVersion, int licenceIndex, int compatibility)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (elcType > 3)
|
||||
{
|
||||
error.code = (int)GeneralError::ELCNotImplemented;
|
||||
error.message = "ELC není implementováno.";
|
||||
throw LicenceException((int)GeneralError::ELCNotImplemented, error.message);
|
||||
return false;
|
||||
}
|
||||
|
||||
this->licIdentification.licElcType = (ELCType)elcType;
|
||||
this->licIdentification.licLicenceType = (LicenceType)licenceType;
|
||||
this->licIdentification.licenceVersion = licenceVersion;
|
||||
this->licIdentification.licenceIndex = licenceIndex;
|
||||
this->licIdentification.licCompatibility = compatibility;
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
elcSwitchType = elcType * 10 + licCompatibility;
|
||||
|
||||
return true; // TODO testy
|
||||
}
|
||||
|
||||
bool LicenceGenerator::init(InitStructure &initStructure)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (initStructure.elcType > 3)
|
||||
{
|
||||
error.code = (int)GeneralError::ELCNotImplemented;
|
||||
error.message = "ELC není implementováno.";
|
||||
throw LicenceException((int)GeneralError::ELCNotImplemented, error.message);
|
||||
return false;
|
||||
}
|
||||
|
||||
this->licIdentification.licElcType = (ELCType)initStructure.elcType;
|
||||
this->licIdentification.licLicenceType = (LicenceType)initStructure.licenceType;
|
||||
this->licIdentification.licenceVersion = licenceVersion;
|
||||
this->licIdentification.licenceIndex = licenceIndex;
|
||||
this->licIdentification.licCompatibility = initStructure.compatibility;
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
elcSwitchType = initStructure.elcType * 10 + licCompatibility;
|
||||
|
||||
return true; // TODO testy
|
||||
}
|
||||
|
||||
int LicenceGenerator::getDataPointsCount(int protocolId)
|
||||
{
|
||||
}
|
||||
|
||||
bool LicenceGenerator::getLicenceItemInfo(int protocolId, void *returnItemStructure)
|
||||
{
|
||||
int result = 0;
|
||||
// const type_info &ti1 = typeid(LicenceELC21);
|
||||
|
||||
try
|
||||
{
|
||||
switch (elcSwitchType)
|
||||
{
|
||||
case 11:
|
||||
{ // old eoseov
|
||||
LicenceItem11 *resultPtr = static_cast<LicenceItem11 *>(returnItemStructure);
|
||||
resultPtr->protocolId = protocolId;
|
||||
if (this->licenceInfo.licences.count(protocolId))
|
||||
resultPtr->dataPointsCount = this->licenceInfo.licences.at(protocolId);
|
||||
else
|
||||
resultPtr->dataPointsCount = 0;
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
|
||||
LicenceItem21 *resultPtr = static_cast<LicenceItem21 *>(returnItemStructure);
|
||||
resultPtr->protocolId = protocolId; // protocolId;
|
||||
if (this->licenceInfo.licences.count(protocolId))
|
||||
resultPtr->dataPointsCount = this->licenceInfo.licences.at(protocolId);
|
||||
else
|
||||
resultPtr->dataPointsCount = 0;
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
LicenceELC31 licence = LicenceELC31(this->licIdentification);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
error.code = -1;
|
||||
error.message = "Nepodařilo se identifikovat licenci";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LicenceGenerator::getLicenceInfo(int protocolId, void *returnStructure)
|
||||
{
|
||||
int result = 0;
|
||||
const type_info &ti1 = typeid(LicenceELC21);
|
||||
// const type_info& ti1 = typeid(returnStructure);
|
||||
// cout << "TTTYP: " << ti1.name() << endl;
|
||||
switch (elcSwitchType)
|
||||
{
|
||||
case 11:
|
||||
{ // old eoseov
|
||||
break;
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
LicenceELC21 licence = LicenceELC21(this->licIdentification);
|
||||
try
|
||||
{
|
||||
licence.readLicence(&this->licenceInfo);
|
||||
return licence.getLicenceInfo(protocolId, returnStructure);
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 31:
|
||||
{
|
||||
LicenceELC31 licence = LicenceELC31(this->licIdentification);
|
||||
try
|
||||
{
|
||||
licence.readLicence();
|
||||
return licence.getLicenceInfo(protocolId, returnStructure);
|
||||
}
|
||||
catch (const LicenceException &ex)
|
||||
{
|
||||
error.code = ex.getErrorCode();
|
||||
error.message = ex.getErrorMessage();
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
error.code = -1;
|
||||
error.message = "Nepodařilo se identifikovat licenci";
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LicenceGenerator::processInputConfiguration()
|
||||
{
|
||||
string fullFile = getCompletePath(this->configFileName);
|
||||
@@ -388,8 +92,8 @@ bool LicenceGenerator::processInputConfiguration()
|
||||
this->licIdentification.licenceIndex = atoi(&doc.child(dataRootName).child("licenceType").attribute("licenceIndex").value()[0]);
|
||||
this->licIdentification.licElcType = (ELCType)atoi(&doc.child(dataRootName).attribute("elc").value()[0]);
|
||||
|
||||
licElcType = (ELCType)atoi(&doc.child(dataRootName).attribute("elc").value()[0]);
|
||||
licCompatibility = atoi(&doc.child(dataRootName).attribute("compatibility").value()[0]);
|
||||
//licElcType = (ELCType)atoi(&doc.child(dataRootName).attribute("elc").value()[0]);
|
||||
//licCompatibility = atoi(&doc.child(dataRootName).attribute("compatibility").value()[0]);
|
||||
|
||||
this->licIdentification.licCompatibility = atoi(&doc.child(dataRootName).attribute("compatibility").value()[0]);
|
||||
|
||||
@@ -409,7 +113,7 @@ bool LicenceGenerator::processInputConfiguration()
|
||||
|
||||
void LicenceGenerator::createLicenceFile()
|
||||
{
|
||||
switch (licElcType)
|
||||
switch (this->licIdentification.licElcType)
|
||||
{
|
||||
case ELCType::ELC1:
|
||||
createLicenceELC1();
|
||||
@@ -451,7 +155,7 @@ void LicenceGenerator::createLicenceELC1() // přejmenvat na ELC1
|
||||
|
||||
void LicenceGenerator::createLicenceELC2()
|
||||
{
|
||||
switch (licCompatibility)
|
||||
switch (this->licIdentification.licCompatibility)
|
||||
{
|
||||
case 1:
|
||||
LicenceELC21 licence = LicenceELC21(this->licData);
|
||||
@@ -462,7 +166,7 @@ void LicenceGenerator::createLicenceELC2()
|
||||
|
||||
void LicenceGenerator::createLicenceELC3()
|
||||
{
|
||||
switch (licCompatibility)
|
||||
switch (this->licIdentification.licCompatibility)
|
||||
{
|
||||
case 1:
|
||||
LicenceELC31 licence = LicenceELC31(this->licData);
|
||||
|
||||
Reference in New Issue
Block a user