]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/conn.h
More std::jthread stuff.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / conn.h
index c67c972eb98df40b9f359bab4852f1348fef28a1..c2997559c4a4eb03b549ffc382192455965dfd4d 100644 (file)
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef __STG_SGCONFIG_CONN_H__
-#define __STG_SGCONFIG_CONN_H__
+#pragma once
 
 #include "parser.h"
 
 #include "dumphelpers.h"
 
-#include "stg/os_int.h"
 #include "stg/const.h"
 
 #include <stdexcept>
 #include <string>
+#include <cstdint>
 
 #include <expat.h>
 
 #include <netinet/in.h>
 
-class SETTINGS;
-class ADMINS;
-class USERS;
-class TARIFFS;
-class ADMIN;
-class BASE_PARSER;
-class PLUGIN_LOGGER;
-
 namespace STG
 {
 
+struct Settings;
+struct Admins;
+class Users;
+class Tariffs;
+class Admin;
+class PluginLogger;
+
 class DECRYPT_STREAM;
 
 class Conn
@@ -53,19 +51,19 @@ class Conn
     public:
         struct Error : public std::runtime_error
         {
-            Error(const std::string& message) : runtime_error(message.c_str()) {}
+            explicit Error(const std::string& message) : runtime_error(message.c_str()) {}
         };
 
         Conn(const BASE_PARSER::REGISTRY & registry,
-             ADMINS & admins, int sock, const sockaddr_in& addr,
-             PLUGIN_LOGGER & logger);
+             Admins & admins, int sock, const sockaddr_in& addr,
+             PluginLogger & logger);
         ~Conn();
 
         int Sock() const { return m_sock; }
-        uint32_t IP() const { return *(uint32_t *)(&m_addr.sin_addr); }
+        uint32_t IP() const { return *reinterpret_cast<const uint32_t *>(&m_addr.sin_addr); }
         uint16_t Port() const { return ntohs(m_addr.sin_port); }
 
-        std::string endpoint() const { return inet_ntostring(IP()) + ":" + x2str(Port()); }
+        std::string endpoint() const { return inet_ntostring(IP()) + ":" + std::to_string(Port()); }
 
         bool Read();
 
@@ -87,9 +85,9 @@ class Conn
 
         const BASE_PARSER::REGISTRY & m_registry;
 
-        ADMINS & m_admins;
+        Admins & m_admins;
 
-        ADMIN * m_admin;
+        Admin * m_admin;
 
         int m_sock;
         sockaddr_in m_addr;
@@ -108,7 +106,7 @@ class Conn
         char m_cryptoLogin[ADM_LOGIN_LEN]; // Without \0
         char m_data[1024];
         STG::DECRYPT_STREAM * m_stream;
-        PLUGIN_LOGGER &  m_logger;
+        PluginLogger &  m_logger;
 
         BASE_PARSER * GetParser(const std::string & tag) const;
 
@@ -142,5 +140,3 @@ class Conn
 };
 
 }
-
-#endif