X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/1538d6276533140505fddb71c99a0bafe6ca9182..8c6fa3fbaccc22127280bf77a48fab5a3ee0716e:/projects/stargazer/plugins/other/radius/conn.h diff --git a/projects/stargazer/plugins/other/radius/conn.h b/projects/stargazer/plugins/other/radius/conn.h index 31ebe1dd..96e74300 100644 --- a/projects/stargazer/plugins/other/radius/conn.h +++ b/projects/stargazer/plugins/other/radius/conn.h @@ -21,35 +21,36 @@ #ifndef __STG_SGCONFIG_CONN_H__ #define __STG_SGCONFIG_CONN_H__ -#include "stg/os_int.h" +#include -#include #include +class USER; class USERS; +class PLUGIN_LOGGER; +class RADIUS; namespace STG { +struct Config; + class Conn { public: - struct Error : public std::runtime_error - { - Error(const std::string& message) : runtime_error(message.c_str()) {} - }; - - Conn(USERS& users, PLUGIN_LOGGER& logger, const Config& config); + Conn(USERS& users, PLUGIN_LOGGER& logger, RADIUS& plugin, const Config& config, int fd, const std::string& remote); ~Conn(); - int sock() const { return m_sock; } + int sock() const; bool read(); + bool tick(); + + bool isOk() const; private: - USERS& m_users; - PLUGIN_LOGGER& m_logger; - const Config& m_config; + class Impl; + boost::scoped_ptr m_impl; }; }