42 lines
701 B
C++
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);
|
|
};
|