* Author : Maxim Mamontov <faust@stargazer.dp.ua>
*/
-#ifndef ADMIN_H
-#define ADMIN_H
+#pragma once
#include <string>
+#include <cstdint>
-#include "admin_conf.h"
-#include "os_int.h"
-
-class ADMIN {
-public:
- virtual ADMIN & operator=(const ADMIN &) = 0;
- virtual ADMIN & operator=(const ADMIN_CONF &) = 0;
- virtual bool operator==(const ADMIN & rhs) const = 0;
- virtual bool operator!=(const ADMIN & rhs) const = 0;
- virtual bool operator<(const ADMIN & rhs) const = 0;
- virtual bool operator<=(const ADMIN & rhs) const = 0;
-
- virtual const std::string & GetPassword() const = 0;
- virtual const std::string & GetLogin() const = 0;
- virtual PRIV const * GetPriv() const = 0;
- virtual uint16_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
+}