code_device/hgdriver/hgdev/user-opt/user.cpp

53 lines
1.1 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"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 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 SCANNER_ERR_OK;
}
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;
return priv <= priv_;
}