UserInfo *UserInfoMng::add(char *MDN, char*ipAddr) { WriteMutex<PasMutex> writeMutex(lockUserInfo); PAS_TRACE3("UserInfoMng::add(): MDN=%s, IP=%s, Count=%d", MDN, ipAddr, MDNs.size()); UserInfo *user = new UserInfo(); if (user==0) return NULL; user->set(MDN, ipAddr); MDNs[user->getIntPhoneNumber()] = user; IPs[user->getIntIpAddr()] = user; userCount = MDNs.size(); PAS_TRACE3("UserInfoMng::add(): MDN=%d, IP=%X, Count=%d", user->getIntPhoneNumber(), user->getIntIpAddr(), userCount); return user; }
UserInfo *UserInfoMng::searchByMdn(char *MDN, char*ipAddr) { ReadMutex<PasMutex> readMutex(lockUserInfo); UserInfo user; user.set(MDN, ipAddr); map<intMDN_t, UserInfo*>::const_iterator mdnpos; mdnpos = MDNs.find(user.getIntPhoneNumber()); if (mdnpos != MDNs.end()) // { return mdnpos->second; } return NULL; }