certificate/include/api/ICertificate.h

34 lines
710 B
C
Raw Permalink Normal View History

2025-06-19 14:07:55 +00:00
#pragma once
#include <stdint.h>
2025-06-26 15:15:38 +00:00
class IView;
2025-06-19 14:07:55 +00:00
namespace util {
2025-06-26 15:15:38 +00:00
class ICeroptions;
2025-06-20 18:17:05 +00:00
2025-06-19 14:07:55 +00:00
class ICertificate {
public:
2025-06-20 18:17:05 +00:00
virtual ~ICertificate() = default;
2025-06-19 14:07:55 +00:00
2025-06-26 15:15:38 +00:00
// 解析证书
virtual void Parse(const char* lic, uint16_t len) = 0;
2025-06-20 18:17:05 +00:00
// 获取与硬件相关的标识
2025-06-19 14:07:55 +00:00
virtual void GetMachineCode(char* code, uint16_t len) = 0;
2025-06-20 18:17:05 +00:00
// 生成证书
2025-06-26 15:15:38 +00:00
virtual void CreateCertificate(const IView* v, ICeroptions* op) = 0;
2025-06-19 14:07:55 +00:00
2025-06-20 18:17:05 +00:00
// 验证证书
2025-06-26 15:15:38 +00:00
virtual int Verification(const char* lic) = 0;
// 验证失败的具体信息
virtual void GetErrMsg(int index, char er[30]) const = 0;
2025-06-20 18:17:05 +00:00
// 配置视图程序
virtual void PushView(const IView* ) = 0;
2025-06-26 15:15:38 +00:00
static ICertificate* CreateCertificate() noexcept;
2025-06-19 14:07:55 +00:00
};
}