void ChannelManager::LoadChannelMembers(IM::ChannelMembersInfo& members) { auto it = m_mapChannels.cbegin(); for(; it != m_mapChannels.end(); ++it) { IM::ChannelMember *pMmember = members.add_channel_member(); pMmember->set_channel_id(it->first); std::vector<IM::User> vec_users = it->second.m_users; auto user_it = vec_users.cbegin(); for(; user_it != vec_users.cend(); ++user_it) { IM::User* pUser = pMmember->add_users(); pUser->set_id(user_it->id()); pUser->set_name(user_it->name()); pUser->set_nick_name(user_it->nick_name()); pUser->set_sex(user_it->sex()); } } }
void DlgGroupChat::updateMemberInfo(std::shared_ptr<List_GroupMember> ptrMemberList) { //更新列表信息; //删除以前的信息; m_listboxMembers.ResetContent(); //添加信息; auto itBegin = ptrMemberList->begin(); int nIndex = -1; while (itBegin != ptrMemberList->end()) { #ifdef UNICODE CA2W temp(itBegin->nick_name().c_str()); CString userId(temp); #else //MultiByteToWideChar CString userId(itBegin->nick_name().c_str()); #endif nIndex = m_listboxMembers.AddString(userId); if (nIndex >= 0) m_listboxMembers.SetItemDataPtr(nIndex, &*itBegin); ++itBegin; } }