code_device/hgdriver/hgdev/user.cpp

55 lines
1.8 KiB
C++

#include "user.h"
#include "../../../sdk/include/huagao/brand.h"
#include "../../../sdk/include/huagao/hgscanner_error.h"
#include "../../../sdk/include/sane/sane_ex.h"
static std::string device_opt_json[] = {
"{\"login\":{\"cat\":\"base\",\"group\":\"\\u9ad8\\u7ea7\\u8bbe\\u7f6e\",\"title\":\"\\u7528\\u6237\\u767b\\u5f55\",\"desc\":\"\\u767b\\u5f55\\u7528\\u6237\\u8d26\\u53f7\",\"ver\":0,\"pos\":0,\"fix-id\":39168,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"visible\":false,\"enabled\":false,\"size\":64,\"cur\":\"\",\"default\":\"\"},\"logout\":{\"cat\":\"base\",\"group\":\"\\u9ad8\\u7ea7\\u8bbe\\u7f6e\",\"title\":\"\\u7528\\u6237\\u767b\\u51fa\",\"desc\":\"\\u9000\\u51fa\\u767b\\u5f55\\u7528\\u6237\\u8d26\\u53f7\",\"ver\":0,\"pos\":0,\"fix-id\":39169,\"type\":\"string\",\"unit\":\"none\",\"affect\":0,\"visible\":false,\"enabled\":false,\"size\":64,\"cur\":\"\",\"default\":\"\"}}"
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// memory management ...
hguser::hguser() : name_(""), pwd_(""), priv_(USER_PRIVILEGE_COMMON)
{}
hguser::~hguser()
{}
// name and password should encrypt here, FIXED me ...
int hguser::login(const char* name, const char* pwd)
{
name_ = name;
pwd_ = pwd;
if (name_ == ADMIN_NAME && pwd_ == ADMIN_PWD)
priv_ = USER_PRIVILEGE_LOCAL_MGR;
else
{
// higher privilege checks must be more complex, to be implementing ...
}
return 0;
}
int hguser::logout(const char* name, const char* pwd)
{
if (name == name && pwd_ == pwd)
{
name = "";
pwd_ = "";
priv_ = USER_PRIVILEGE_COMMON;
return 0;
}
else
{
return SCANNER_ERR_ACCESS_DENIED;
}
}
bool hguser::has_privilege(int priv)
{
return priv & priv_ == priv;
}