X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/9701b7ab4dc4cd709ad4dcaa750fc0021f15e231..6a7381b164a6998bd2822355c58ab514c9dc79a7:/include/stg/admin.h diff --git a/include/stg/admin.h b/include/stg/admin.h index 7095bb62..f78640ae 100644 --- a/include/stg/admin.h +++ b/include/stg/admin.h @@ -18,32 +18,29 @@ * Author : Maxim Mamontov */ -#ifndef ADMIN_H -#define ADMIN_H +#pragma once #include +#include -#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 +}