53 lines
1.1 KiB
C++
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_;
|
|
}
|