/* * 说明:系统服务外部调用接口 * * 作者: 杨海洋 * 日期: 2023-03-06 */ #ifndef IEXAMSERVICE_H #define IEXAMSERVICE_H #include "IExamInterface.h" #include "IExamCar.h" class JUDGE_API IExamService : public IExamInterface { public: explicit IExamService() = default; virtual ~IExamService() = default; virtual const char* examJudgeVersion() = 0; virtual int examJudgeSetLogCallback(int level, examJudgeCallbackLog callback) = 0; virtual const char* examJudgeErrorInfo(int errorCode) = 0; virtual int examJudgeInit(const char* data, int len) = 0; virtual int examJudgeDestroy() = 0; virtual int examJudgeSetRealExamCallback(examJudgeCallbackRealExam callback) = 0; virtual int examJudgeSetPerformCallback(examJudgeCallbackPerform callback) = 0; virtual int examJudgeMapImageSetCallback(examJudgeCallbackMapImage callback) = 0; virtual double examCalcGpsDistance(double jd1, double wd1, double jd2, double wd2, double h) = 0; virtual const char* examPeerOccupy() = 0; virtual const char* examSecretEncrypt(const char* data, int size) = 0; virtual const char* examSecretDecrypt(const char* data, int size) = 0; virtual int examFreeMemory(const char* buf) = 0; virtual void examJudgeCallbackLogToCaller(int level, const char* info, int len) = 0; virtual void examJudgeCallbackRealExamToCaller(const char* data, int len) = 0; virtual void examJudgeCallbackPerformToCaller(const char* data, int len) = 0; virtual void examJudgeCallbackMapImageToCaller(const char* data, int len) = 0; virtual IExamCar* getExamCar() const = 0; virtual const std::string& getInitData() const = 0; virtual const TInitInfo* getInitInfo() const = 0; }; #endif // IEXAMSERVICE_H