Files
EgtGeneral/GeyKeyData.cpp
T
DarioS 08658f7bdd EgtGeneral 2.5e3 :
- aggiunta gestione deposito dati chiave di protezione in uso.
2023-05-30 10:23:19 +02:00

105 lines
3.1 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2023-2023
//----------------------------------------------------------------------------
// File : GetKeyData.cpp Data : 29.05.23 Versione : 2.5e3
// Contenuto : Funzione che restituisce i dati della chiave di protezione.
//
//
//
// Modifiche : 29.05.23 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "DllMain.h"
#include "/EgtDev/Include/EGnGetKeyData.h"
#include "/EgtDev/Include/SELkKeyProc.h"
using namespace std ;
//-----------------------------------------------------------------------------
static int s_nKeyLevRet = - 1;
static int s_nKeyLev = 0 ;
static int s_nKeyExpDays = 0 ;
static int s_nKeyOptRet = - 1;
static int s_nKeyOpt1 = 0 ;
static int s_nKeyOpt2 = 0 ;
static int s_nKeyOptExpDays = 0 ;
//-----------------------------------------------------------------------------
bool
SetEGnKeyLevel( int nRet, int nKeyLev, int nKeyExpDays)
{
s_nKeyLevRet = nRet ;
s_nKeyLev = nKeyLev ;
s_nKeyExpDays = nKeyExpDays ;
return true ;
}
//-----------------------------------------------------------------------------
int
GetEGnKeyLevel( int nProd, int nVer, int nLev, int& nKeyLev, int& nKeyExpDays)
{
// Chiave di rete
if ( GetEGnNetHwKey()) {
int nCurrDay = GetCurrDay() ;
int nMinDay = GetMinDay() ;
if ( nCurrDay < nMinDay)
return KEY_ERR_WRONG_TIME ;
}
// chiave Hw locale
else {
int nMyKeyLev, nMyKeyExpDays ;
int nRet = GetKeyLevel( GetEGnKey(), nProd, nVer, nLev, nMyKeyLev, nMyKeyExpDays) ;
s_nKeyLevRet = nRet ;
s_nKeyLev = nMyKeyLev ;
s_nKeyExpDays = nMyKeyExpDays ;
}
// restituzione dati
nKeyLev = s_nKeyLev ;
nKeyExpDays = s_nKeyExpDays ;
return s_nKeyLevRet ;
}
//-----------------------------------------------------------------------------
bool
SetEGnKeyOptions( int nRet, int nKeyOpt1, int nKeyOpt2, int nKeyOptExpDays)
{
s_nKeyOptRet = nRet ;
s_nKeyOpt1 = nKeyOpt1 ;
s_nKeyOpt2 = nKeyOpt2 ;
s_nKeyOptExpDays = nKeyOptExpDays ;
return true ;
}
//-----------------------------------------------------------------------------
int
GetEGnKeyOptions( int nProd, int nVer, int nLev, unsigned int& nKeyOpt1, unsigned int& nKeyOpt2, int& nKeyOptExpDays)
{
// Chiave di rete
if ( GetEGnNetHwKey()) {
int nCurrDay = GetCurrDay() ;
int nMinDay = GetMinDay() ;
if ( nCurrDay < nMinDay)
return KEY_ERR_WRONG_TIME ;
}
// chiave Hw locale
else {
unsigned int nMyKeyOpt1, nMyKeyOpt2 ;
int nMyKeyOptExpDays ;
int nRet = GetKeyOptions( GetEGnKey(), nProd, nVer, nLev, nMyKeyOpt1, nMyKeyOpt2, nMyKeyOptExpDays) ;
s_nKeyOptRet = nRet ;
s_nKeyOpt1 = nMyKeyOpt1 ;
s_nKeyOpt2 = nMyKeyOpt2 ;
s_nKeyOptExpDays = nMyKeyOptExpDays ;
}
// restituzione dati
nKeyOpt1 = s_nKeyOpt1 ;
nKeyOpt2 = s_nKeyOpt2 ;
nKeyOptExpDays = s_nKeyOptExpDays ;
return s_nKeyOptRet ;
}