X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/107a6a8d0b9eae3c4375a685e49dcf90bea69335..014356a786e82ad8da85a8cf0dba6b1035794436:/projects/stargazer/plugins/configuration/sgconfig/configproto.h diff --git a/projects/stargazer/plugins/configuration/sgconfig/configproto.h b/projects/stargazer/plugins/configuration/sgconfig/configproto.h index 6e296836..e18ae82e 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/configproto.h +++ b/projects/stargazer/plugins/configuration/sgconfig/configproto.h @@ -28,7 +28,7 @@ #include "stg/os_int.h" #include -#include +#include #include #include @@ -38,6 +38,8 @@ class SETTINGS; class ADMINS; class TARIFFS; class USERS; +class SERVICES; +class CORPORATIONS; class STORE; class PLUGIN_LOGGER; @@ -53,17 +55,20 @@ public: CONFIGPROTO(PLUGIN_LOGGER & l); ~CONFIGPROTO(); - void SetPort(uint16_t port) { m_port = port; } - void SetSettings(const SETTINGS * settings) { m_settings = settings; } - void SetAdmins(ADMINS * admins) { m_admins = admins; } - void SetTariffs(TARIFFS * tariffs) { m_tariffs = tariffs; } - void SetUsers(USERS * users) { m_users = users; } - void SetStore(STORE * store) { m_store = store; } - - int Prepare(); - int Stop(); + void SetPort(uint16_t port) { m_port = port; } + void SetBindAddress(const std::string & address) { m_bindAddress = address; } + void SetSettings(const SETTINGS * settings) { m_settings = settings; } + void SetAdmins(ADMINS * admins) { m_admins = admins; } + void SetTariffs(TARIFFS * tariffs) { m_tariffs = tariffs; } + void SetUsers(USERS * users) { m_users = users; } + void SetServices(SERVICES * services) { m_services = services; } + void SetCorporations(CORPORATIONS * corporations) { m_corporations = corporations; } + void SetStore(STORE * store) { m_store = store; } + + int Prepare(); + int Stop(); const std::string & GetStrError() const { return m_errorStr; } - void Run(); + void Run(); private: CONFIGPROTO(const CONFIGPROTO & rvalue); @@ -73,9 +78,12 @@ private: ADMINS * m_admins; TARIFFS * m_tariffs; USERS * m_users; + SERVICES * m_services; + CORPORATIONS * m_corporations; STORE * m_store; uint16_t m_port; + std::string m_bindAddress; bool m_running; bool m_stopped; PLUGIN_LOGGER & m_logger; @@ -84,7 +92,9 @@ private: std::string m_errorStr; BASE_PARSER::REGISTRY m_registry; - std::vector m_conns; + std::deque m_conns; + + bool Bind(); void RegisterParsers(); @@ -93,8 +103,6 @@ private: void CleanupConns(); void HandleEvents(const fd_set & fds); void AcceptConnection(); - - //void WriteLogAccessFailed(uint32_t ip); }; #endif //CONFIGPROTO_H