]> git.stg.codes - stg.git/blobdiff - include/stg/admin_conf.h
Port to CMake, get rid of os_int.h.
[stg.git] / include / stg / admin_conf.h
index df6d9e22456f0f633a804c1311cf25fa7d7dff90..88d944bfef9d861aa096a8987bd585b11ae7e11d 100644 (file)
@@ -7,9 +7,11 @@
 #ifndef ADMIN_CONF_H
 #define ADMIN_CONF_H
 
+#include "stg/resetable.h"
+
 #include <string>
 
-#include "os_int.h"
+#include <cstdint>
 
 #define ADM_LOGIN_LEN   (32)
 #define ADM_PASSWD_LEN  (32)
@@ -27,7 +29,7 @@ struct PRIV
           serviceChg(0),
           corpChg(0)
     {}
-    PRIV(uint32_t p)
+    explicit PRIV(uint32_t p)
         : userStat((p & 0x00000003) >> 0x00),
           userConf((p & 0x0000000C) >> 0x02),
           userCash((p & 0x00000030) >> 0x04),
@@ -60,11 +62,6 @@ struct ADMIN_CONF
           login(),
           password("* NO PASSWORD *")
     {}
-    ADMIN_CONF(const ADMIN_CONF & rvalue)
-        : priv(rvalue.priv),
-          login(rvalue.login),
-          password(rvalue.password)
-    {}
     ADMIN_CONF(const PRIV & pr, const std::string & l, const std::string & p)
         : priv(pr),
           login(l),
@@ -75,6 +72,25 @@ struct ADMIN_CONF
     std::string   password;
 };
 //-----------------------------------------------------------------------------
+struct ADMIN_CONF_RES
+{
+    ADMIN_CONF_RES() {}
+    ADMIN_CONF_RES(const ADMIN_CONF_RES & rhs)
+        : priv(rhs.priv),
+          login(rhs.login),
+          password(rhs.password)
+    {}
+    ADMIN_CONF_RES & operator=(const ADMIN_CONF_RES & rhs)
+    {
+        priv = rhs.priv;
+        login = rhs.login;
+        password = rhs.password;
+        return *this;
+    }
+    RESETABLE<PRIV> priv;
+    RESETABLE<std::string> login;
+    RESETABLE<std::string> password;
+};
 
 #include "admin_conf.inc.h"