PouManager.h 799 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "Common.h"
  3. #include "Pou.h"
  4. /// <summary>
  5. /// 用于管理所有Pou单元的类
  6. /// </summary>
  7. class POU;
  8. class WindowAppPouScene;
  9. class PouManager
  10. {
  11. public:
  12. PouManager();
  13. void registerPou(POU* pPou);
  14. // 注册硬件Pou
  15. void registerHdwPou(POU* pPou);
  16. // 获取所有的Pou数据结构
  17. QMap<QString, POU*>& getAllPous();
  18. // 获取Hardware Pou
  19. POU* getHdwPou();
  20. // 获取指定的Pou
  21. POU* getPouByName(const QString& strName);
  22. // 2022-6-12,获取指定Pou的Scene指针
  23. WindowAppPouScene* getPouSceneByName(const QString& strName);
  24. // 本分组是否是Pou中的一个
  25. bool isPou(const QString& strName);
  26. void RemovePou(const QString& strName);
  27. void resetAllPous();
  28. protected:
  29. QMap<QString, POU*> m_Pous;
  30. POU* m_pHardwarePou;
  31. };