CPrManage.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "dt.h"
  3. #define C_PR_STRATEGY_EXPORTS
  4. #include "CPrStrategy.h"
  5. #include <string>
  6. #include <windows.h>
  7. #include <mutex>
  8. using namespace std;
  9. namespace ns_pr
  10. {
  11. class __declspec(dllexport) CPrManage
  12. {
  13. private:
  14. std::map<UINT, CPRStrategy*> g_mapPrStrategy;
  15. static CPrManage* m_pInstance;
  16. static std::mutex m_Mutex;
  17. public:
  18. static CPrManage* GetInstance();
  19. CPrManage();
  20. void AddPrStrategy(UINT iModuleType, CPRStrategy* pPrStrategy);
  21. CPRStrategy* GetPrStrategyPtr(UINT iModuleType);
  22. //获取模组中相机Id
  23. std::vector<UINT> GetCameraIdList(UINT iModuleType);
  24. //创建PR模板
  25. LONG CreatePrTemplate(UINT iModuleType, UINT iCameraId, UINT& iTemplateId);
  26. //创建空的PR策略
  27. LONG CreatePrStrategy(UINT iModuleType, UINT& iStrategyId);
  28. //设置策略参考点
  29. LONG SetPrStrategyRef(UINT iModuleType,UINT iStrategyId);
  30. //设置PR策略里的模板
  31. LONG SetPrStrategyTemplate(UINT iModuleType,UINT iStrategyId, vector<MULTI_TEMP_STRUCT> vecTemplateId);
  32. };
  33. }