#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(),
- service(),
- group(),
credit(0),
- nextTariff(),
userdata(USERDATA_NUM),
- creditExpire(0),
- ips()
+ creditExpire(0)
{}
std::string password;
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;
struct USER_CONF_RES
{
USER_CONF_RES()
- : password(),
- passive(),
- disabled(),
- disabledDetailStat(),
- alwaysOnline(),
- tariffName(),
- address(),
- phone(),
- email(),
- note(),
- realName(),
- group(),
- credit(),
- nextTariff(),
- userdata(USERDATA_NUM, RESETABLE<std::string>()),
- creditExpire(),
- ips()
- {
- }
-
+ : userdata(USERDATA_NUM)
+ {}
USER_CONF_RES & operator=(const USER_CONF & uc)
{
userdata.resize(USERDATA_NUM);
email = uc.email;
note = uc.note;
realName = uc.realName;
+ corp = uc.corp;
group = uc.group;
credit = uc.credit;
nextTariff = uc.nextTariff;
- for (int i = 0; i < USERDATA_NUM; i++)
- {
- userdata[i] = uc.userdata[i];
- }
+ 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;
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();
- for (int i = 0; i < USERDATA_NUM; i++)
+ for (size_t i = 0; i < USERDATA_NUM; i++)
{
uc.userdata[i] = userdata[i].data();
}
+ uc.services = services.data();
uc.creditExpire = creditExpire.data();
uc.ips = ips.data();
return uc;
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::vector<std::string> > services;
RESETABLE<time_t> creditExpire;
RESETABLE<USER_IPS> ips;
};