X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/760c0ea6e896fd918bfd096a06e334e769041db2..8383a049b4b6f7223dd833af18675696fc0663db:/projects/stargazer/plugins/configuration/sgconfig/configproto.h?ds=sidebyside diff --git a/projects/stargazer/plugins/configuration/sgconfig/configproto.h b/projects/stargazer/plugins/configuration/sgconfig/configproto.h index 96e976c8..4adba097 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/configproto.h +++ b/projects/stargazer/plugins/configuration/sgconfig/configproto.h @@ -28,19 +28,21 @@ #ifndef CONFIGPROTO_H #define CONFIGPROTO_H -#include -#include -#include - -#include +#include "parser_auth_by.h" +#include "parser_user_info.h" +#include "stg/users.h" +#include "stg/admins.h" +#include "stg/tariffs.h" +#include "stg/logger.h" #include "parser.h" -#include "../../../users.h" -#include "../../../admins.h" -#include "../../../tariffs.h" -#include "stg_logger.h" -using namespace std; +#include +#include + +#include +#include +#include #define STG_HEADER "SG04" #define OK_HEADER "OKHD" @@ -51,28 +53,30 @@ using namespace std; #define ERR_LOGINS "ERLS" //----------------------------------------------------------------------------- -class CONFIGPROTO -{ +class CONFIGPROTO { public: - CONFIGPROTO(); + CONFIGPROTO(PLUGIN_LOGGER & l); ~CONFIGPROTO(); - void SetPort(uint16_t port); + void SetPort(uint16_t p) { port = p; } void SetAdmins(ADMINS * a); void SetUsers(USERS * u); void SetTariffs(TARIFFS * t); - void SetStore(BASE_STORE * s); + void SetStore(STORE * s); void SetStgSettings(const SETTINGS * s); - uint32_t GetAdminIP() const; + uint32_t GetAdminIP() const { return adminIP; } int Prepare(); int Stop(); - const string & GetStrError() const; - static void * Run(void * a); + const std::string & GetStrError() const { return errorStr; } + void Run(); private: + CONFIGPROTO(const CONFIGPROTO & rvalue); + CONFIGPROTO & operator=(const CONFIGPROTO & rvalue); + int RecvHdr(int sock); int RecvLogin(int sock); - int SendLoginAnswer(int sock, int err); + int SendLoginAnswer(int sock); int SendHdrAnswer(int sock, int err); int RecvLoginS(int sock); int SendLoginSAnswer(int sock, int err); @@ -83,18 +87,19 @@ private: int ParseCommand(); - list answerList; - list requestList; - uint32_t adminIP; - string adminLogin; - uint16_t port; - pthread_t thrReciveSendConf; - bool nonstop; - int state; - ADMIN currAdmin; - STG_LOGGER & WriteServLog; + std::list answerList; + std::list requestList; + uint32_t adminIP; + std::string adminLogin; + std::string adminPassword; + uint16_t port; + pthread_t thrReciveSendConf; + bool nonstop; + int state; + ADMIN * currAdmin; + PLUGIN_LOGGER & logger; - int listenSocket; + int listenSocket; PARSER_GET_SERVER_INFO parserGetServInfo; @@ -105,6 +110,8 @@ private: PARSER_DEL_USER parserDelUser; PARSER_CHECK_USER parserCheckUser; PARSER_SEND_MESSAGE parserSendMessage; + PARSER_AUTH_BY parserAuthBy; + PARSER_USER_INFO parserUserInfo; PARSER_GET_ADMINS parserGetAdmins; PARSER_ADD_ADMIN parserAddAdmin; @@ -119,15 +126,14 @@ private: ADMINS * admins; BASE_PARSER * currParser; - vector dataParser; + std::vector dataParser; XML_Parser xmlParser; - string errorStr; + std::string errorStr; friend void ParseXMLStart(void *data, const char *el, const char **attr); friend void ParseXMLEnd(void *data, const char *el); }; //----------------------------------------------------------------------------- #endif //CONFIGPROTO_H -