FingerPrint_impl.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #ifndef LIBFRAMEWORK_FINGERPRINT_IMPL_H
  2. #define LIBFRAMEWORK_FINGERPRINT_IMPL_H
  3. #include <SpBase.h>
  4. #include "RVCComm.h"
  5. #include "FingerPrintClass.h"
  6. #include "IHttpFunc.h"
  7. #include <string>
  8. #include "../../DeviceSimulator.h"
  9. #include "json/json.h"
  10. typedef struct CommonReq : CHTTPReq {
  11. string m_reqStr;
  12. string ToJson() {
  13. return m_reqStr;
  14. }
  15. } CommonReq;
  16. typedef struct CommonRet : CHTTPRet {
  17. string m_retStr;
  18. bool Parse(string strData) {
  19. m_retStr = strData;
  20. return true;
  21. }
  22. } CommonRet;
  23. typedef struct Image2FeatureReq : CHTTPReq {
  24. string m_reqStr;
  25. string ToJson() {
  26. return m_reqStr;
  27. }
  28. } Image2FeatureReq;
  29. typedef struct Image2FeatureRet : CHTTPRet {
  30. string m_retStr;
  31. bool Parse(string strData) {
  32. m_retStr = strData;
  33. return true;
  34. }
  35. } Image2FeatureRet;
  36. typedef struct Image2TemplateReq : CHTTPReq {
  37. string m_reqStr;
  38. string ToJson() {
  39. return m_reqStr;
  40. }
  41. } Image2TemplateReq;
  42. typedef struct Image2TemplateRet : CHTTPRet {
  43. string m_retStr;
  44. bool Parse(string strData) {
  45. m_retStr = strData;
  46. return true;
  47. }
  48. } Image2TemplateRet;
  49. class FingerPrintImpl : public FingerPrintClass
  50. {
  51. public:
  52. FingerPrintImpl();
  53. ~FingerPrintImpl();
  54. static void HttpsLogCallBack(const char* logtxt) {}
  55. //DeviceBaseClass
  56. ErrorCodeEnum GetDevCategory(DevCategoryInfo& devCategory);
  57. ErrorCodeEnum Reset();
  58. ErrorCodeEnum DevClose();
  59. ErrorCodeEnum GetLastErr(DevErrorInfo& devErrInfo);
  60. // Open Device
  61. ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate);
  62. //采集指纹图片及对应特征值,imagePath保存图片名,lpbFeature保存对应特征,iLength:输入代表特征lpbFeature最大可用长度,输出为特征lpbFeature实际长度
  63. //imagePath为传入的图片名,采集到的指纹图像请按此名称保存在dep目录下,lpbFeature为对应指纹图像特征
  64. //Compute features
  65. ErrorCodeEnum Image2Feature(const char* imageName, LPBYTE lpbFeature, int& iLength);
  66. //生成特征模板(注册时使用)
  67. //imagePath1、imagePath2、imagePath3表示生成特征需要输入的三张图片名称,由应用传入,lpbTemplate表示输出特征模板,iLength表示模板长度
  68. ErrorCodeEnum Image2Template(const char* imagePath1, const char* imagePath2, const char* imagePath3, LPBYTE lpbTemplate, int& iLength);
  69. //比对校验
  70. //lpbTemplate和iTemplateLen分别表示输入的一组特征模板及其对应的长度,templateNum为数组长度(即模板个数)
  71. //lbpFeature表示待校验的指纹特征,iFeatureLen表示其长度,level表示校验等级,默认取3
  72. ErrorCodeEnum Match(LPBYTE lpbTemplate[], int iTemplateLen[], int templateNum, LPBYTE lbpFeature, int& iFeatureLen, int level = 3);
  73. //取消采集指纹
  74. ErrorCodeEnum Cancel();
  75. bool Image2FeatureHttp(LPBYTE lpbFeature, int& iLength);
  76. bool Image2TemplateHttp(LPBYTE lpbTemplate, int& iLength);
  77. bool GetDevCategoryHttp(DevCategoryInfo& devCategory);
  78. bool commonSimpleHttp(string adapterInterName);
  79. string getUrl();
  80. string depCfgPath;
  81. iniReader iniRead;
  82. };
  83. #endif //LIBFRAMEWORK_FINGERPRINT_IMPL_H