55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
#pragma once
|
|
#include <stdint.h>
|
|
|
|
namespace view {
|
|
|
|
/*
|
|
@berf 证书操作的可视化接口
|
|
可视化操作包括证书的输入, 标识的可视化输出
|
|
视图是可选配的
|
|
*/
|
|
class IViewOut {
|
|
public:
|
|
virtual ~IViewOut() = default;
|
|
|
|
// 查看证书
|
|
virtual void About() const = 0;
|
|
|
|
// 从视图获取证书
|
|
virtual void GetLicense(char* lic, uint16_t* len) const = 0;
|
|
|
|
// 输出硬件标识
|
|
virtual void GetMachineCode(char* code, uint16_t* len) const = 0;
|
|
};
|
|
|
|
// 输入视图
|
|
class IViewIn {
|
|
public:
|
|
virtual ~IViewIn() = default;
|
|
|
|
// 获取开始时间和结束时间
|
|
// 格式固定为 "yyyy-MM-DD" 10 bytes
|
|
virtual void GetAuthTime(char start[10], char end[10]) const = 0;
|
|
|
|
// 获取软件版本号
|
|
virtual void GetAppVersion(char* ver, uint16_t* len) const = 0;
|
|
|
|
// 获取软件名称
|
|
virtual void GetAppName(char* name, uint16_t* len) const = 0;
|
|
};
|
|
}
|
|
|
|
|
|
class IView :
|
|
virtual public view::IViewIn,
|
|
virtual public view::IViewOut
|
|
{
|
|
public:
|
|
virtual ~IView() = default;
|
|
|
|
// 启动视图
|
|
virtual void Exec() const = 0;
|
|
|
|
// 卸载插件
|
|
virtual void Exit() const = 0;
|
|
}; |