roomlist.xs

来自「Linux下的多协议即时通讯程序源代码」· XS 代码 · 共 110 行

XS
110
字号
#include "module.h"MODULE = Purple::Roomlist  PACKAGE = Purple::Roomlist  PREFIX = purple_roomlist_PROTOTYPES: ENABLEBOOT:{	HV *room_stash = gv_stashpv("Purple::Roomlist::Room::Type", 1);	HV *field_stash = gv_stashpv("Purple::Roomlist::Field::Type", 1);	static const constiv *civ, room_const_iv[] = {#define const_iv(name) {#name, (IV)PURPLE_ROOMLIST_ROOMTYPE_##name}		const_iv(CATEGORY),		const_iv(ROOM),	};	static const constiv field_const_iv[] = {#undef const_iv#define const_iv(name) {#name, (IV)PURPLE_ROOMLIST_FIELD_##name}		const_iv(BOOL),		const_iv(INT),		const_iv(STRING),	};	for (civ = room_const_iv + sizeof(room_const_iv) / sizeof(room_const_iv[0]); civ-- > room_const_iv; )		newCONSTSUB(room_stash, (char *)civ->name, newSViv(civ->iv));	for (civ = field_const_iv + sizeof(field_const_iv) / sizeof(field_const_iv[0]); civ-- > field_const_iv; )		newCONSTSUB(field_stash, (char *)civ->name, newSViv(civ->iv));}void purple_roomlist_cancel_get_list(list)	Purple::Roomlist listvoid purple_roomlist_expand_category(list, category)	Purple::Roomlist list	Purple::Roomlist::Room categorygboolean purple_roomlist_get_in_progress(list)	Purple::Roomlist listPurple::Roomlistpurple_roomlist_get_list(gc)	Purple::Connection gcPurple::Roomlist::UiOpspurple_roomlist_get_ui_ops() Purple::Roomlistpurple_roomlist_new(account)	Purple::Account accountvoid purple_roomlist_ref(list)	Purple::Roomlist listvoid purple_roomlist_room_add(list, room)	Purple::Roomlist list	Purple::Roomlist::Room roomvoid purple_roomlist_room_add_field(list, room, field)	Purple::Roomlist list	Purple::Roomlist::Room room	gconstpointer fieldvoid purple_roomlist_room_join(list, room)	Purple::Roomlist list	Purple::Roomlist::Room roomvoid purple_roomlist_set_fields(list, fields)	Purple::Roomlist list	SV *fieldsPREINIT:	GList *t_GL;	int i, t_len;PPCODE:	t_GL = NULL;	t_len = av_len((AV *)SvRV(fields));	for (i = 0; i < t_len; i++) {		STRLEN t_sl;		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(fields), i, 0), t_sl));	}	purple_roomlist_set_fields(list, t_GL);void purple_roomlist_set_in_progress(list, in_progress)	Purple::Roomlist list	gboolean in_progressvoid purple_roomlist_set_ui_ops(ops)	Purple::Roomlist::UiOps opsvoid purple_roomlist_show_with_account(account)	Purple::Account accountvoid purple_roomlist_unref(list)	Purple::Roomlist list

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?