ClientsThreadMap.h 752 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include <map>
  3. #include "CcosLock.h"
  4. using namespace std;
  5. /// <summary>
  6. /// eBus BLOBStreamClient 对象
  7. /// </summary>
  8. class BusClientWrapper
  9. {
  10. bool m_IsConnected;
  11. BUSC::BLOBStreamClient* m_pClient;
  12. public:
  13. BusClientWrapper();
  14. ~BusClientWrapper();
  15. bool IsConnected();
  16. void SetConnection(bool Flag);
  17. BUSC::BLOBStreamClient* GetBusClient();
  18. };
  19. /// <summary>
  20. /// 为每一个线程自动分配一个 eBus StreamClient
  21. /// </summary>
  22. class ClientsThreadMap : public CcosLock
  23. {
  24. map<DWORD, BusClientWrapper*> m_ThreadMap;
  25. public:
  26. ClientsThreadMap();
  27. virtual ~ClientsThreadMap();
  28. //bool RegistThread(PVOID pCcosThread);
  29. BusClientWrapper* operator [](DWORD Tid);
  30. void UnRegistThread(DWORD Tid);
  31. void Disconnected();
  32. void Clear();
  33. };