X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/b21e41a3a44b08e4460b66cd81953498742d43d3..ebf7574cf9ee065013517c074fc0d8fd8053fabd:/projects/stargazer/plugins/configuration/sgconfig/conn.h diff --git a/projects/stargazer/plugins/configuration/sgconfig/conn.h b/projects/stargazer/plugins/configuration/sgconfig/conn.h index 902cd394..8f76b7e9 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/conn.h +++ b/projects/stargazer/plugins/configuration/sgconfig/conn.h @@ -21,12 +21,13 @@ #ifndef __STG_SGCONFIG_CONN_H__ #define __STG_SGCONFIG_CONN_H__ +#include "parser.h" + #include "stg/os_int.h" #include "stg/const.h" #include #include -#include #include @@ -52,11 +53,8 @@ class Conn Error(const std::string& message) : runtime_error(message.c_str()) {} }; - Conn(const SETTINGS & settings, - ADMINS & admins, - USERS & users, - TARIFFS & tariffs, - int sock, const sockaddr_in& addr); + Conn(const BASE_PARSER::REGISTRY & registry, + ADMINS & admins, int sock, const sockaddr_in& addr); ~Conn(); int Sock() const { return m_sock; } @@ -79,10 +77,9 @@ class Conn static const char OK_LOGINS[5]; static const char ERR_LOGINS[5]; - const SETTINGS & m_settings; + const BASE_PARSER::REGISTRY & m_registry; + ADMINS & m_admins; - USERS & m_users; - TARIFFS & m_tariffs; ADMIN * m_admin; @@ -98,13 +95,13 @@ class Conn void * m_buffer; size_t m_bufferSize; - char m_header[sizeof(STG_HEADER)]; - char m_login[ADM_LOGIN_LEN + 1]; - char m_cryptoLogin[ADM_LOGIN_LEN + 1]; + char m_header[sizeof(STG_HEADER) - 1]; // Without \0 + char m_login[ADM_LOGIN_LEN]; // Without \0 + char m_cryptoLogin[ADM_LOGIN_LEN]; // Without \0 char m_data[1024]; STG::DECRYPT_STREAM * m_stream; - BASE_PARSER * GetParser(const std::string & tag); + BASE_PARSER * GetParser(const std::string & tag) const; bool HandleBuffer(size_t size);