]> git.stg.codes - stg.git/blobdiff - include/stg/admin.h
Public interfaces: part 1
[stg.git] / include / stg / admin.h
index f385129116a5e1592f983dfee0f62d2ce46ff6ce..f78640ae826e45547d6761379a97a578f9c5ec88 100644 (file)
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef ADMIN_H
-#define ADMIN_H
+#pragma once
 
 #include <string>
 #include <cstdint>
 
 
 #include <string>
 #include <cstdint>
 
-#include "admin_conf.h"
-
-class ADMIN {
-public:
-    virtual ~ADMIN() {}
-    virtual const std::string & GetPassword() const = 0;
-    virtual const std::string & GetLogin() const = 0;
-    virtual PRIV const *        GetPriv() const = 0;
-    virtual uint32_t            GetPrivAsInt() const = 0;
-    virtual const ADMIN_CONF &  GetConf() const = 0;
-    virtual uint32_t            GetIP() const = 0;
-    virtual std::string         GetIPStr() const = 0;
-    virtual void                SetIP(uint32_t ip) = 0;
-    virtual const std::string   GetLogStr() const = 0;
+namespace STG
+{
+
+struct AdminConf;
+struct Priv;
+
+struct Admin {
+    virtual ~Admin() = default;
+
+    virtual const std::string& GetPassword() const = 0;
+    virtual const std::string& GetLogin() const = 0;
+    virtual const Priv*        GetPriv() const = 0;
+    virtual uint32_t           GetPrivAsInt() const = 0;
+    virtual const AdminConf&   GetConf() const = 0;
+    virtual uint32_t           GetIP() const = 0;
+    virtual std::string        GetIPStr() const = 0;
+    virtual void               SetIP(uint32_t ip) = 0;
+    virtual const std::string  GetLogStr() const = 0;
 };
 
 };
 
-#endif
+}