mod_facetracking.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #ifndef __MOD_FACETRACKING_H
  2. #define __MOD_FACETRACKING_H
  3. #pragma once
  4. #include "SpBase.h"
  5. #include "SpIni.h"
  6. #include "libvideoqueue.h"
  7. #include "libfacecapture.h"
  8. #include "../mod_mediacontroller/MediaController_client_g.h"
  9. using namespace MediaController;
  10. class CFaceTrackingEntity : public CEntityBase, public CHostApi, public CVideoMonitorEvent, public ISysVarListener, public ITimerListener, public ILogListener
  11. {
  12. public:
  13. CFaceTrackingEntity();
  14. virtual ~CFaceTrackingEntity() {}
  15. virtual const char* GetEntityName() const { return "FaceTracking"; }
  16. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext);
  17. virtual void OnStarted();
  18. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext);
  19. int TransCameraStateToInt(char cData);
  20. void OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nLogID, const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  21. const DWORD dwSysError, const DWORD dwUserCode, const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  22. const CAutoArray<DWORD>& Param, const char* pszEntityName, const char* pszModuleName, const char* pszMessage, const linkContext& pLinkInfo);
  23. //////////////////////////////////////////////////////////////////////////////////////////////////////
  24. // ITimerListener implementation
  25. virtual void OnTimeout(DWORD dwTimerID);
  26. //////////////////////////////////////////////////////////////////////////////////////////////////////
  27. // CHostApi implementation
  28. virtual uint64_t GenerateUUID();
  29. virtual bool IsCustomerChange();
  30. virtual void GetFaceImgName(char* FaceName, uint32_t uLen);
  31. virtual bool LoadConfig(CFaceCaptureConfig& config);
  32. virtual void Debug(facecap_loglevel elevel, const char* fmt, ...);
  33. ////////////////////////////////////////////////////////////////////////////////////
  34. // CVideoMonitorEvent
  35. void GenerateMonitorEvent(video_monitor_event_type eType, char* strMsg);
  36. private:
  37. virtual void OnSysVarEvent(const char* pszKey, const char* pszValue, const char* pszOldValue, const char* pszEntityName);
  38. bool GetCameraOnStatus();
  39. void StartFaceDetect();
  40. private:
  41. CUUID m_UUid1, m_UUid2, m_UUid3, m_UUid4;
  42. bool bIsSessionChange;
  43. bool bIsCustomerChange;
  44. CSimpleStringA strCustomerID;
  45. CSimpleStringA strSessionID;
  46. CUUID m_lastUUID;
  47. Clibfacecapture* m_facecapture;
  48. bool m_bSingleCamera;
  49. };
  50. class MediaControlClient : public MediaService_ClientBase
  51. {
  52. public:
  53. MediaControlClient(CFaceTrackingEntity* pEntity);
  54. };
  55. #endif __MOD_FACETRACKING_H