#include "mbwatchusermgr.h" CMBWatchUserMgr::CMBWatchUserMgr() { removeAll(); } CMBWatchUserMgr::~CMBWatchUserMgr() { removeAll(); } bool CMBWatchUserMgr::add(CMBWatchUser *pUser) { if( NULL == pUser ) return false; QString login = pUser->getLogin(); QString svrID = pUser->getSvrID(); if(is(login, svrID)) return false; { QMutexLocker locker(&m_mutex); m_vector.append(pUser); } return true; } CMBWatchUser *CMBWatchUserMgr::get(QString login, QString svrID) { QMutexLocker locker(&m_mutex); login = login.trimmed(); svrID = svrID.trimmed(); if( login.isEmpty() || svrID.isEmpty() ) return NULL; CMBWatchUserVector::iterator it; CMBWatchUser *pUser = NULL; for( it = m_vector.begin();it != m_vector.end();it++ ) { pUser = *it; QString tmpLogin = pUser->getLogin(); QString tmpSvrID = pUser->getSvrID(); tmpLogin = tmpLogin.trimmed(); tmpSvrID = tmpSvrID.trimmed(); if( tmpLogin == login && tmpSvrID == svrID ) return pUser; } return NULL; } bool CMBWatchUserMgr::removeAll() { QMutexLocker locker(&m_mutex); qDeleteAll(m_vector.begin(),m_vector.end()); m_vector.clear(); return true; } bool CMBWatchUserMgr::is(QString login, QString svrID) { CMBWatchUser *pUser = get(login, svrID); if( NULL == pUser ) return false; return true; } void CMBWatchUserMgr::getVector(CMBWatchUserVector &vector) { vector.clear(); vector = m_vector; }