finger.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef FINGER_H
  2. #define FINGER_H
  3. #include <QObject>
  4. #include <QThread>
  5. #include "libs/include/libzkfp.h"
  6. #include "libs/include/libzkfperrdef.h"
  7. #include "libs/include/libzkfptype.h"
  8. enum class fingerWorkStat {
  9. init,
  10. opendev,
  11. adcquireFingerprint,
  12. sleep,
  13. };
  14. class finger : public QThread
  15. {
  16. Q_OBJECT
  17. public slots:
  18. void slot_set_thread_stop(void);
  19. void slot_fingerWork(bool stat);
  20. signals:
  21. void signal_fingerStat(bool stat, QByteArray img, int size);
  22. public:
  23. explicit finger(QObject *parent = nullptr);
  24. private:
  25. bool threadstatus = true;
  26. fingerWorkStat workstat = fingerWorkStat::init;
  27. bool fingerInit = false;
  28. HANDLE fingerHandle = 0;
  29. int m_nFakeFunOn = 1;
  30. int m_imgFPWidth = 300;
  31. int m_imgFPHeight = 400;
  32. int m_impDpi = 0;
  33. unsigned char *m_pImgBuf;
  34. QByteArray m_pBmpBuf;
  35. int m_pBmpSize = 0;
  36. unsigned char szFinger[MAX_TEMPLATE_SIZE];
  37. unsigned int szFingerLen = MAX_TEMPLATE_SIZE;
  38. bool finger_workStat = false;
  39. void finger_toImage(unsigned char *data);
  40. void finger_init(void);
  41. void finger_opendev(void);
  42. // void finger_dbinit(void);
  43. // void finger_dbmerge(void);
  44. // void finger_dbadd(void);
  45. // void finger_dbmatch(void);
  46. void finger_acquirefingerprint(void);
  47. // void finger_dbidentify(void);
  48. protected:
  49. void run() override;
  50. };
  51. #endif // FINGER_H