当前位置: 首页>>代码示例>>C++>>正文


C++ UserList::GetUsers方法代码示例

本文整理汇总了C++中UserList::GetUsers方法的典型用法代码示例。如果您正苦于以下问题:C++ UserList::GetUsers方法的具体用法?C++ UserList::GetUsers怎么用?C++ UserList::GetUsers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UserList的用法示例。


在下文中一共展示了UserList::GetUsers方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: headImagePath

int LuaV6Chat3App::GetUserList(lua_State *luaState)
{
	V6Chat3App *App = GetV6Chat3App(luaState);
	if (App)
	{
		UserList *list = UserList::Instance();

		lua_newtable(luaState);       //创建一个表格,放在栈顶
		int i=1;
		map<unsigned int, Handle<UserInfo>>& users = list->GetUsers();
		for(UserList::UserIter iter=users.begin(); iter!=users.end(); ++iter, ++i)
		{
			lua_pushnumber(luaState, i);
			lua_newtable(luaState);      //压入value,也是一个table(subtable)
			lua_pushstring(luaState, "groupname");
			lua_pushstring(luaState, V6Util::UnicodeToUtf8(iter->second->group_name.c_str()).c_str());
			lua_settable(luaState,-3);   //弹出key,value,并设置到subtable里面去
			lua_pushstring(luaState, "id");
			lua_pushnumber(luaState, iter->second->uid);
			lua_settable(luaState,-3);   //弹出key,value,并设置到subtable里面去
			lua_pushstring(luaState, "nickname");
			lua_pushstring(luaState, V6Util::UnicodeToUtf8(iter->second->nick_name.c_str()).c_str());
			lua_settable(luaState,-3);   //弹出key,value,并设置到subtable里面去
			lua_pushstring(luaState, "location");
			wstring location;
			iter->second->GetLocation(location);
			lua_pushstring(luaState, V6Util::UnicodeToUtf8(location.c_str()).c_str());
			lua_settable(luaState,-3);   //弹出key,value,并设置到subtable里面去
			wstring headImagePath(USERHEAD_RELATIVE_PATH);
			wstringstream sid;
			sid<<iter->second->uid;
			headImagePath = headImagePath + L"\\" + sid.str();
			XL_BITMAP_HANDLE bmp = V6Util::GetUserDataImageHandle(headImagePath.c_str());
			if(bmp)
			{
				lua_pushstring(luaState, "head");
				if(!XLUE_PushBitmap(luaState, bmp))
			        lua_pushnil(luaState);
			    lua_settable(luaState,-3);   //弹出key,value,并设置到subtable里面去
			}
			lua_settable(luaState,-3);//这时候父table的位置还是-3,弹出key,value(subtable),并设置到table里去
		}

		return 1;
	}

	lua_pushnil(luaState);
	return 1;
}
开发者ID:wuyingfengsui,项目名称:V6Chat,代码行数:49,代码来源:LuaV6Chat3App.cpp


注:本文中的UserList::GetUsers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。