#include <string>
#include <vector>
+#include <cstdint>
#include "const.h"
#include "user_ips.h"
#include "resetable.h"
-#include "os_int.h"
//-----------------------------------------------------------------------------
struct USER_CONF
{
USER_CONF()
- : password(),
- passive(0),
+ : passive(0),
disabled(0),
disabledDetailStat(0),
alwaysOnline(0),
- tariffName(),
- address(),
- phone(),
- email(),
- note(),
- realName(),
- corp(),
- services(),
- group(),
credit(0),
- nextTariff(),
userdata(USERDATA_NUM),
- creditExpire(0),
- ips()
+ creditExpire(0)
{}
std::string password;
struct USER_CONF_RES
{
USER_CONF_RES()
- : password(),
- passive(),
- disabled(),
- disabledDetailStat(),
- alwaysOnline(),
- tariffName(),
- address(),
- phone(),
- email(),
- note(),
- realName(),
- corp(),
- group(),
- credit(),
- nextTariff(),
- userdata(USERDATA_NUM),
- services(),
- creditExpire(),
- ips()
- {
- }
-
+ : userdata(USERDATA_NUM)
+ {}
USER_CONF_RES & operator=(const USER_CONF & uc)
{
userdata.resize(USERDATA_NUM);
credit = uc.credit;
nextTariff = uc.nextTariff;
for (size_t i = 0; i < USERDATA_NUM; i++) userdata[i] = uc.userdata[i];
- services.resize(uc.services.size());
- for (size_t i = 0; i < uc.services.size(); ++i) services[i] = uc.services[i];
+ services = uc.services;
creditExpire = uc.creditExpire;
ips = uc.ips;
return *this;
{
uc.userdata[i] = userdata[i].data();
}
- uc.services.resize(services.size());
- for (size_t i = 0; i < services.size(); ++i)
- uc.services[i] = services[i].data();
+ uc.services = services.data();
uc.creditExpire = creditExpire.data();
uc.ips = ips.data();
return uc;
RESETABLE<double> credit;
RESETABLE<std::string> nextTariff;
std::vector<RESETABLE<std::string> > userdata;
- std::vector<RESETABLE<std::string> > services;
+ RESETABLE<std::vector<std::string> > services;
RESETABLE<time_t> creditExpire;
RESETABLE<USER_IPS> ips;
};