diff --git a/src/ca/calib01.cpp b/src/ca/calib01.cpp index 213c9680e..1e8ab227a 100755 --- a/src/ca/calib01.cpp +++ b/src/ca/calib01.cpp @@ -34,10 +34,12 @@ class TConfig_anal : public TConfig { int _level; + TDate _data_attivazione; public: virtual const TString& get(const char* var, const char* section = nullptr, int index = -1, const char* def = ""); - TConfig_anal(); + bool ca_active(const TDate & date); + TConfig_anal(); }; TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _level(0) @@ -49,6 +51,14 @@ TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _level(0) // Controllo se è veramente configurato il primo livello a CMS o CDC if (_level > 1 && TConfig::get("Level", nullptr, 1).blank()) _level = 0; + _data_attivazione = get("DtAttCa"); +} + +bool TConfig_anal::ca_active(const TDate & date) +{ + if (_data_attivazione > date) + return false; + return ca_config().get_int("Authorizations") & 0x5; } const TString& TConfig_anal::get(const char* varname, const char* section, int index, const char* def) @@ -98,6 +108,11 @@ TConfig& ca_config(bool force_reload) return *cfg; } +bool ca_active(const TDate & date) +{ + return ((TConfig_anal &)ca_config()).ca_active(date); +} + /////////////////////////////////////////////////////////// // TMultilevel_code_info /////////////////////////////////////////////////////////// diff --git a/src/ca/calib01.h b/src/ca/calib01.h index 48e3f6e9f..c21cb7c95 100755 --- a/src/ca/calib01.h +++ b/src/ca/calib01.h @@ -32,6 +32,8 @@ TConfig& ca_config(bool force = false); //il bool=true serve in caso di cambio di configurazione al volo nel programma di importazione da CM a CA, in modo da.. //..rilevare subito la configurazione cambiata senza dover uscire e rientrare dal programma +bool ca_active(const TDate & date); + /////////////////////////////////////////////////////////// // TConfig_anal ///////////////////////////////////////////////////////////