]> git.stg.codes - stg.git/blobdiff - include/stg/admin_conf.h
Stargazer (#6)
[stg.git] / include / stg / admin_conf.h
index c4871970b60eb629d1e4fa18febdfc7e2700304c..b402e2417c36d4a5f27e331783e93a5e43657096 100644 (file)
@@ -1,8 +1,7 @@
 #pragma once
 
-#include "stg/optional.h"
-
 #include <string>
+#include <optional>
 
 #include <cstdint>
 
@@ -14,17 +13,7 @@ namespace STG
 
 struct Priv
 {
-    Priv() noexcept
-        : userStat(0),
-          userConf(0),
-          userCash(0),
-          userPasswd(0),
-          userAddDel(0),
-          adminChg(0),
-          tariffChg(0),
-          serviceChg(0),
-          corpChg(0)
-    {}
+    Priv() noexcept : Priv(0) {}
     explicit Priv(uint32_t p) noexcept
         : userStat((p & 0x00000003) >> 0x00),
           userConf((p & 0x0000000C) >> 0x02),
@@ -69,10 +58,8 @@ struct Priv
 //-----------------------------------------------------------------------------
 struct AdminConf
 {
-    AdminConf()
-        : password("* NO PASSWORD *")
-    {}
-    AdminConf(const Priv & pr, const std::string & l, const std::string & p)
+    AdminConf() : AdminConf({}, {}, "* NO PASSWORD *") {}
+    AdminConf(const Priv& pr, const std::string& l, const std::string& p)
         : priv(pr),
           login(l),
           password(p)
@@ -90,9 +77,9 @@ struct AdminConf
 //-----------------------------------------------------------------------------
 struct AdminConfOpt
 {
-    Optional<Priv> priv;
-    Optional<std::string> login;
-    Optional<std::string> password;
+    std::optional<Priv> priv;
+    std::optional<std::string> login;
+    std::optional<std::string> password;
 };
 
 }