Beispiel #1
0
int LuaV6Chat3App::AddFriendAck(lua_State *luaState)
{
	V6Chat3App *App = GetV6Chat3App(luaState);
	if (App)
	{
		int choice = lua_tointeger(luaState, 2);

		UnreadMsgList *msglist = UnreadMsgList::Instance();
		int type, port;
		unsigned int repid;
		wstring name, msg;
		string ip;
		msglist->GetUnreadMsg(type, repid, name, ip, port, msg);
		if(type == ADD_P2PUSER_ASK)
		{
			ClientMsgSender sender(ip, -1, port);
			sender.ReplyAddUserMsg(choice == 1);

			if(choice == 1)
			{
				Handle<UserInfo> newuser(new P2PUserInfo(0, name, DEFAULT_GROUP_NAME, 0, 0, L"", L"", ip, port, port));

				UserList *userlist = UserList::Instance();
				userlist->AddUser(newuser);
				sender.TestOnlineMsg();
			}
		}
		else
		{
			ServerMsgSender sender(repid, V6Util::UnicodeToUtf8(name.c_str()), 0);
			sender.ReplyAddUserMsg(choice == 1);
		}
	}

	return 0;
}