123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #ifndef MOD_LIVENESSDETECTION_H
- #define MOD_LIVENESSDETECTION_H
- #pragma once
- #define CLOSE_CAPTURE
- #ifdef RVC_OS_WIN
- #include "stdafx.h"
- #endif // RVC_OS_WIN
- #include "SpBase.h"
- #include "SpIni.h"
- #include "rec_common.h"
- #include "Event.h"
- #include "sysvar.h"
- #ifdef RVC_OS_WIN
- #include "LivenessDetectionFSM.h"
- #endif // RVC_OS_WIN
- #ifndef CLOSE_CAPTURE
- #include "RvcFaceCapturer.h"
- #endif // !CLOSE_CAPTURE
- #include "LivenessDetection_def_g.h"
- #include "LivenessDetection_msg_g.h"
- #include "LivenessDetection_server_g.h"
- #include <assert.h>
- #include "EventCode.h"
- using namespace LivenessDetection;
- class CLivenessDetectionEntity;
- class LivenessDetectionServerSession : public LivenessDetectionService_ServerSessionBase
- {
- public:
- LivenessDetectionServerSession(CLivenessDetectionEntity* pEntity) : m_pEntity(pEntity) {}
- virtual ~LivenessDetectionServerSession() {}
- virtual void Handle_StartLivenessDetection(SpReqAnsContext<LivenessDetectionService_StartLivenessDetection_Req, LivenessDetectionService_StartLivenessDetection_Ans>::Pointer ctx);
- virtual void Handle_StopLivenessDetection(SpReqAnsContext<LivenessDetectionService_StopLivenessDetection_Req, LivenessDetectionService_StopLivenessDetection_Ans>::Pointer ctx);
-
- private:
- CLivenessDetectionEntity* m_pEntity;
- };
- class CLivenessDetectionEntity : public CEntityBase, /*public CDemoHostApi, */public ILogListener, public ISysVarListener
- {
- public:
- CLivenessDetectionEntity();
- virtual ~CLivenessDetectionEntity();
- virtual const char *GetEntityName() const;
- virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext);
- virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext);
- // CAviHostAPI
- virtual void Debug(const char *fmt, ...);
- virtual int GetActiveCamera();
- ErrorCodeEnum __OnStart(ErrorCodeEnum preOperationError);
- ErrorCodeEnum __OnClose(ErrorCodeEnum preOperationError);
- virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
- const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
- const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage);
- virtual bool IsService() const { return true; }
- virtual bool IsMultiThread() const { return false; }
- // 实体服务化
- virtual CServerSessionBase* OnNewSession(const char*, const char*)
- {
- return new LivenessDetectionServerSession(this);
- }
- void StartLivenessDetection(SpReqAnsContext<LivenessDetectionService_StartLivenessDetection_Req, LivenessDetectionService_StartLivenessDetection_Ans>::Pointer ctx);
- void StopLivenessDetection(SpReqAnsContext<LivenessDetectionService_StopLivenessDetection_Req, LivenessDetectionService_StopLivenessDetection_Ans>::Pointer ctx);
- DeviceTypeEnum GetDeviceType() const { return m_eDeviceType; }
- private:
- virtual void OnSysVarEvent(const char *pszKey, const char *pszValue,const char *pszOldValue,const char *pszEntityName);
- virtual void OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
-
- ErrorCodeEnum DecideCameraCount(int &nCount);
- DeviceTypeEnum m_eDeviceType;
- int nActiveCamera;
- int m_iCameraState;
-
- CAutoArray<CUUID> m_arrListener;
- BOOL m_bStarted;
- //Clibvtmdemo *m_pDemo;
- int m_nCaptureType;
- private:
- #ifdef RVC_OS_WIN
- CLivenessDetectionFSM *m_pFsm;
- #endif
- #ifndef CLOSE_CAPTURE
- RvcFaceCapture::RvcFaceCapturer *m_pCapturer;
- #endif // !CLOSE_CAPTURE
- };
- #endif
|