#ifndef AUTH_H #define AUTH_H #include "stdafx.h" #include "prodotto.h" #include "infoUtente.h" #include "ssaerr.h" #define SSA_REL "2.2" #define TAG_SSA " m_prodotti; //[nome_prodotto, Prodotto] Prodotti configurati map m_utenti; //[idClient, InfoUtente] Utenti connessi string m_id; public: Auth(); bool caricaFileLicenze(); bool isLoaded() { return m_loaded; } int VerificaModulo(const char* prodotto, const char* modulo); int VerificaModulo(const char* prodotto, const char* modulo, const char* piva); int Login(const char* idClient, const char* prodotto); int Login(const char* idClient, const char* prodotto, const char* piva); int ApriModulo(const char* idClient, const char* modulo); int ChiudiModulo(const char* idClient, const char* modulo); int Logout(const char* idClient, const char* prodotto); int Ping(const char* idClient); int AttivaLicenza(const char* file); int GetXMLProdottiConfigurati(char* buf, int bufSize); int GetXMLUtentiCorrenti(char* buf, int bufSize); int GetId(char* buf, int bufSize); int GetNumeroSerie(const char* prodotto); int DataScadenza(const char* prodotto, const char* modulo); int NumMaxUtenti(const char* prodotto, const char* modulo); private: bool caricaFileLicenze(string fileName); bool verificaRequisitiHW(string hwTag); void addProdotto(Prodotto* p); Prodotto* getProdottoDaNomeModulo(const char* modulo); bool verificaExpDate(const char* date); string dumpProdotti(); string dumpUtenti(); void logoutUtentiScaduti(); int ChiudiModulo(const char* idClient, const char* modulo, bool logout); bool iequals(const string& a, const string& b); map::iterator findProdottoIC(const char * strToFind); }; #endif