123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #ifndef MOD_LIVENESSDETECTION_H
- #define MOD_LIVENESSDETECTION_H
- #pragma once
- #include "SpIni.h"
- #include "rvc_media_common.h"
- #include "Event.h"
- #include "mod_customeraware/Event.h"
- #include "mod_mediacontroller/Event.h"
- #include "mod_facetracking/sysvar.h"
- #include "LivenessDetection_def_g.h"
- #include "LivenessDetection_msg_g.h"
- #include "LivenessDetection_server_g.h"
- #include <assert.h>
- #include "EventCode.h"
- #include "RvcWsServer.h"
- #include "RvcFaceVideo.h"
- #include "../mod_mediacontroller/MediaController_client_g.h"
- using namespace MediaController;
- using namespace LivenessDetection;
- class CLivenessDetectionEntity;
- class LivenessDetectionServerSession : public LivenessDetectionService_ServerSessionBase
- {
- public:
- LivenessDetectionServerSession(CLivenessDetectionEntity* pEntity) : m_pEntity(pEntity) {}
- virtual ~LivenessDetectionServerSession() {}
- private:
- CLivenessDetectionEntity* m_pEntity;
- };
- class MediaControlClient : public MediaService_ClientBase
- {
- public:
- MediaControlClient(CLivenessDetectionEntity* pEntity);
- };
- class CLivenessDetectionEntity : public CEntityBase, 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);
- virtual void OnStarted();
- 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, const linkContext& pLinkInfo);
- virtual bool IsService() const { return true; }
- virtual bool IsMultiThread() const { return false; }
- // 实体服务化
- virtual CServerSessionBase* OnNewSession(const char*, const char*)
- {
- return new LivenessDetectionServerSession(this);
- }
- DeviceTypeEnum GetDeviceType() const { return m_eDeviceType; }
- int on_get_videodata(eVideoType eType, eCameraType ecameraid, int* width, int* height, unsigned char* bmpdata, int isize);
- RvcWsServer* GetWsServer() { return m_WsServer; }
- int GetWsPort() { return m_iWsPort; }
- ErrorCodeEnum GetEntityConfigure();
- private:
- virtual void OnSysVarEvent(const char *pszKey, const char *pszValue,const char *pszOldValue,const char *pszEntityName);
- virtual void OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext);
- void InitVideoQueueInfo();
- bool GetCameraOnStatus();
- DeviceTypeEnum m_eDeviceType;
- int nActiveCamera;
- int m_iCameraState;
- CAutoArray<CUUID> m_arrListener;
- RvcWsServer* m_WsServer;
- RvcFaceVideo* m_pFaceVideo;
-
- #ifdef RVC_OS_WIN
- HANDLE m_hWsServerThread;
- #else
- pthread_t m_hWsServerThreadId;
- #endif //RVC_OS_WIN
- int m_iWsPort;
- };
- #endif
|