]> git.stg.codes - stg.git/blobdiff - include/stg/user_conf.h
Added template specification.
[stg.git] / include / stg / user_conf.h
index 5d65fcee9f606dc053b66a3f66b53bd173b14a43..a16b392984454fe0679baad959f7457492068331 100644 (file)
 struct USER_CONF
 {
     USER_CONF()
 struct USER_CONF
 {
     USER_CONF()
-        : password(),
-          passive(0),
+        : passive(0),
           disabled(0),
           disabledDetailStat(0),
           alwaysOnline(0),
           disabled(0),
           disabledDetailStat(0),
           alwaysOnline(0),
-          tariffName(),
-          address(),
-          phone(),
-          email(),
-          note(),
-          realName(),
-          corp(),
-          service(),
-          group(),
           credit(0),
           credit(0),
-          nextTariff(),
           userdata(USERDATA_NUM),
           userdata(USERDATA_NUM),
-          creditExpire(0),
-          ips()
+          creditExpire(0)
     {}
 
     std::string              password;
     {}
 
     std::string              password;
@@ -51,7 +39,7 @@ struct USER_CONF
     std::string              note;
     std::string              realName;
     std::string              corp;
     std::string              note;
     std::string              realName;
     std::string              corp;
-    std::vector<std::string> service;
+    std::vector<std::string> services;
     std::string              group;
     double                   credit;
     std::string              nextTariff;
     std::string              group;
     double                   credit;
     std::string              nextTariff;
@@ -63,26 +51,8 @@ struct USER_CONF
 struct USER_CONF_RES
 {
     USER_CONF_RES()
 struct USER_CONF_RES
 {
     USER_CONF_RES()
-        : password(),
-          passive(),
-          disabled(),
-          disabledDetailStat(),
-          alwaysOnline(),
-          tariffName(),
-          address(),
-          phone(),
-          email(),
-          note(),
-          realName(),
-          group(),
-          credit(),
-          nextTariff(),
-          userdata(USERDATA_NUM),
-          creditExpire(),
-          ips()
-    {
-    }
-
+        : userdata(USERDATA_NUM)
+    {}
     USER_CONF_RES & operator=(const USER_CONF & uc)
     {
         userdata.resize(USERDATA_NUM);
     USER_CONF_RES & operator=(const USER_CONF & uc)
     {
         userdata.resize(USERDATA_NUM);
@@ -97,10 +67,12 @@ struct USER_CONF_RES
         email        = uc.email;
         note         = uc.note;
         realName     = uc.realName;
         email        = uc.email;
         note         = uc.note;
         realName     = uc.realName;
+        corp         = uc.corp;
         group        = uc.group;
         credit       = uc.credit;
         nextTariff   = uc.nextTariff;
         for (size_t i = 0; i < USERDATA_NUM; i++) userdata[i]  = uc.userdata[i];
         group        = uc.group;
         credit       = uc.credit;
         nextTariff   = uc.nextTariff;
         for (size_t i = 0; i < USERDATA_NUM; i++) userdata[i]  = uc.userdata[i];
+        services     = uc.services;
         creditExpire = uc.creditExpire;
         ips          = uc.ips;
         return *this;
         creditExpire = uc.creditExpire;
         ips          = uc.ips;
         return *this;
@@ -119,13 +91,15 @@ struct USER_CONF_RES
         uc.email        = email.data();
         uc.note         = note.data();
         uc.realName     = realName.data();
         uc.email        = email.data();
         uc.note         = note.data();
         uc.realName     = realName.data();
+        uc.corp         = corp.data();
         uc.group        = group.data();
         uc.credit       = credit.data();
         uc.nextTariff   = nextTariff.data();
         uc.group        = group.data();
         uc.credit       = credit.data();
         uc.nextTariff   = nextTariff.data();
-        for (int i = 0; i < USERDATA_NUM; i++)
+        for (size_t i = 0; i < USERDATA_NUM; i++)
             {
             uc.userdata[i]  = userdata[i].data();
             }
             {
             uc.userdata[i]  = userdata[i].data();
             }
+        uc.services     = services.data();
         uc.creditExpire = creditExpire.data();
         uc.ips          = ips.data();
         return uc;
         uc.creditExpire = creditExpire.data();
         uc.ips          = ips.data();
         return uc;
@@ -143,10 +117,12 @@ struct USER_CONF_RES
     RESETABLE<std::string>               email;
     RESETABLE<std::string>               note;
     RESETABLE<std::string>               realName;
     RESETABLE<std::string>               email;
     RESETABLE<std::string>               note;
     RESETABLE<std::string>               realName;
+    RESETABLE<std::string>               corp;
     RESETABLE<std::string>               group;
     RESETABLE<double>                    credit;
     RESETABLE<std::string>               nextTariff;
     std::vector<RESETABLE<std::string> > userdata;
     RESETABLE<std::string>               group;
     RESETABLE<double>                    credit;
     RESETABLE<std::string>               nextTariff;
     std::vector<RESETABLE<std::string> > userdata;
+    RESETABLE<std::vector<std::string> > services;
     RESETABLE<time_t>                    creditExpire;
     RESETABLE<USER_IPS>                  ips;
 };
     RESETABLE<time_t>                    creditExpire;
     RESETABLE<USER_IPS>                  ips;
 };