#include "ClientsThreadMap.h" /* BusClientWrapper::BusClientWrapper() { m_IsConnected = false; m_pClient = new BUSC::BLOBStreamClient(); } BusClientWrapper::~BusClientWrapper() { delete m_pClient; m_pClient = NULL; } bool BusClientWrapper::IsConnected() { return m_IsConnected; } void BusClientWrapper::SetConnection(bool Flag) { m_IsConnected = Flag; } BUSC::BLOBStreamClient* BusClientWrapper::GetBusClient() { //OwnerÏß³Ì if (m_IsConnected == false) { delete m_pClient; m_pClient = new BUSC::BLOBStreamClient(); } return m_pClient; } //--------------- ClientsThreadMap::ClientsThreadMap() { } ClientsThreadMap::~ClientsThreadMap() { Clear(); } void ClientsThreadMap::Clear() { Thread_Lock(); map::iterator iter = m_ThreadMap.begin(); while (iter != m_ThreadMap.end()) { delete iter->second; iter = m_ThreadMap.erase(iter); } Thread_UnLock(); } BusClientWrapper* ClientsThreadMap::operator [](DWORD Tid) { BusClientWrapper* p = NULL; Thread_Lock(); map::iterator iter = m_ThreadMap.find(Tid); if (iter != m_ThreadMap.end()) { p = m_ThreadMap[Tid]; } if (p == NULL) { p = new BusClientWrapper(); m_ThreadMap[Tid] = p; } Thread_UnLock(); return p; } void ClientsThreadMap::UnRegistThread(DWORD Tid) { Thread_Lock(); map::iterator iter = m_ThreadMap.find(Tid); if (iter != m_ThreadMap.end()) { delete iter->second; m_ThreadMap.erase(iter); } Thread_UnLock(); } void ClientsThreadMap::Disconnected() { Thread_Lock(); map::iterator iter = m_ThreadMap.begin(); while (iter != m_ThreadMap.end()) { iter->second->SetConnection(false); ++iter; } Thread_UnLock(); } */