#ifndef PROMEMORY_H #define PROMEMORY_H #include <QMutex> #include <QStack> #include "AppConstants.h" #include "casic/iris/CasicIrisInfo.h" #include "dao/IrisDataDao.h" #include "device/IrisCameraController.h" #include "device/iris/IrisRecogProcess.h" class IrisCameraController; class IrisRegistProcess; class IrisRecogProcess; class ProMemory { public: ~ProMemory(); ProMemory(const ProMemory&)=delete; ProMemory& operator=(const ProMemory&)=delete; static ProMemory& getInstance() { static ProMemory instance; return instance; } void pushCasicIris(CasicIrisInfo irisInfo); CasicIrisInfo popCasicIris(); int getIrisQueueSize(); bool isIrisQueueEmpty(); void clearIrisQueue(); volatile int widgeFrame = 0; // 当前显示的界面 volatile int appState = 0; // 当前程序所处的状态 void initIrisFeatures(QString personId = ""); // 初始化虹膜特征值集合 IrisCameraController * irisCam; IrisRecogProcess * irisRecogPro; private: ProMemory(); QStack<CasicIrisInfo> irisQueue; // 虹膜信息队列 QVector<QVariantMap> irisFeatures; // 虹膜特征值集合 }; #endif // PROMEMORY_H