#pragma once #include class IView; namespace util { class ICeroptions; class ICertificate { public: virtual ~ICertificate() = default; // 解析证书 virtual void Parse(const char* lic, uint16_t len) = 0; // 获取与硬件相关的标识 virtual void GetMachineCode(char* code, uint16_t len) = 0; // 生成证书 virtual void CreateCertificate(const IView* v, ICeroptions* op) = 0; // 验证证书 virtual int Verification(const char* lic) = 0; // 验证失败的具体信息 virtual void GetErrMsg(int index, char er[30]) const = 0; // 配置视图程序 virtual void PushView(const IView* ) = 0; static ICertificate* CreateCertificate() noexcept; }; }