Esempio n. 1
0
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());
        }
    }



}
Esempio n. 2
0
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;
	}
}