code_device/hgdriver/hgdev/user.h

42 lines
701 B
C++

#pragma once
// Objects for user management
//
// created on 2022-09-19
//
#include <string>
class sane_opt_provider
{
public:
sane_opt_provider();
protected:
virtual ~sane_opt_provider();
public:
virtual std::string get_json_text(void) = 0;
virtual int set_value(const char* name, void* value) = 0;
virtual void enable(const char* name, bool enabled) = 0;
virtual bool is_enable(const char* name) = 0;
virtual bool has(const char* name) = 0;
};
class hguser
{
std::string name_;
std::string pwd_;
int priv_;
public:
hguser();
~hguser();
public:
int login(const char* name, const char* pwd);
int logout(const char* name, const char* pwd);
bool has_privilege(int priv);
};