notify.xs

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

XS
182
字号
#include "module.h"MODULE = Purple::Notify  PACKAGE = Purple::Notify  PREFIX = purple_notify_PROTOTYPES: ENABLEBOOT:{	HV *type_stash = gv_stashpv("Purple::Notify::Type", 1);	HV *msg_type_stash = gv_stashpv("Purple::Notify:Msg", 1);	HV *user_info_stash = gv_stashpv("Purple::NotifyUserInfo::Type", 1);	static const constiv *civ, type_const_iv[] = {#define const_iv(name) {#name, (IV)PURPLE_NOTIFY_##name}		const_iv(MESSAGE),		const_iv(EMAIL),		const_iv(EMAILS),		const_iv(FORMATTED),		const_iv(SEARCHRESULTS),		const_iv(USERINFO),		const_iv(URI),	};	static const constiv msg_type_const_iv[] = {#undef const_iv#define const_iv(name) {#name, (IV)PURPLE_NOTIFY_MSG_##name}		const_iv(ERROR),		const_iv(WARNING),		const_iv(INFO),	};	static const constiv user_info_const_iv[] = {#undef const_iv#define const_iv(name) {#name, (IV)PURPLE_NOTIFY_USER_INFO_ENTRY_##name}		const_iv(PAIR),		const_iv(SECTION_BREAK),		const_iv(SECTION_HEADER),	};	for (civ = type_const_iv + sizeof(type_const_iv) / sizeof(type_const_iv[0]); civ-- > type_const_iv; )		newCONSTSUB(type_stash, (char *)civ->name, newSViv(civ->iv));	for (civ = msg_type_const_iv + sizeof(msg_type_const_iv) / sizeof(msg_type_const_iv[0]); civ-- > msg_type_const_iv; )		newCONSTSUB(msg_type_stash, (char *)civ->name, newSViv(civ->iv));	for (civ = user_info_const_iv + sizeof(user_info_const_iv) / sizeof(user_info_const_iv[0]); civ-- > user_info_const_iv; )		newCONSTSUB(user_info_stash, (char *)civ->name, newSViv(civ->iv));}voidpurple_notify_close(type, ui_handle)	Purple::NotifyType type	void * ui_handlevoidpurple_notify_close_with_handle(handle)	void * handlevoid *purple_notify_email(handle, subject, from, to, url, cb, user_data)	void * handle	const char *subject	const char *from	const char *to	const char *url	Purple::NotifyCloseCallback cb	gpointer user_datavoid *purple_notify_emails(handle, count, detailed, subjects, froms, tos, urls, cb, user_data)	void * handle	size_t count	gboolean detailed	const char **subjects	const char **froms	const char **tos	const char **urls	Purple::NotifyCloseCallback cb	gpointer user_datavoid *purple_notify_formatted(handle, title, primary, secondary, text, cb, user_data)	void * handle	const char *title	const char *primary	const char *secondary	const char *text	Purple::NotifyCloseCallback cb	gpointer user_datavoid *purple_notify_userinfo(gc, who, user_info, cb, user_data)	Purple::Connection gc	const char *who	Purple::NotifyUserInfo user_info	Purple::NotifyCloseCallback cb	gpointer user_dataPurple::NotifyUiOpspurple_notify_get_ui_ops()voidpurple_notify_set_ui_ops(ops)	Purple::NotifyUiOps opsvoid *purple_notify_message(handle, type, title, primary, secondary, cb, user_data)	void * handle	Purple::NotifyMsgType type	const char *title	const char *primary	const char *secondary	Purple::NotifyCloseCallback cb	gpointer user_datavoid *purple_notify_searchresults(gc, title, primary, secondary, results, cb, user_data)	Purple::Connection gc	const char *title	const char *primary	const char *secondary	Purple::NotifySearchResults results	Purple::NotifyCloseCallback cb	gpointer user_datavoid *purple_notify_uri(handle, uri)	void * handle	const char *uriMODULE = Purple::Notify  PACKAGE = Purple::NotifyUserInfo  PREFIX = purple_notify_user_info_PROTOTYPES: ENABLEPurple::NotifyUserInfopurple_notify_user_info_new(class)	C_ARGS: /* void */voidpurple_notify_user_info_destroy(user_info)	Purple::NotifyUserInfo user_infovoidpurple_notify_user_info_get_entries(user_info)	Purple::NotifyUserInfo user_infoPREINIT:	const GList *l;PPCODE:	l = purple_notify_user_info_get_entries(user_info);	for (; l != NULL; l = l->next) {		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::NotifyUserInfoEntry")));	}gchar_own *purple_notify_user_info_get_text_with_newline(user_info, newline)	Purple::NotifyUserInfo user_info	const char *newlinevoid purple_notify_user_info_add_pair(user_info, label, value)	Purple::NotifyUserInfo user_info	const char *label	const char *valuevoid purple_notify_user_info_prepend_pair(user_info, label, value)	Purple::NotifyUserInfo user_info	const char *label	const char *valuevoid purple_notify_user_info_add_section_break(user_info)	Purple::NotifyUserInfo user_infovoid purple_notify_user_info_add_section_header(user_info, label)	Purple::NotifyUserInfo user_info	const char *labelvoid purple_notify_user_info_remove_last_item(user_info)	Purple::NotifyUserInfo user_infogchar *purple_notify_user_info_entry_get_label(user_info_entry)	Purple::NotifyUserInfoEntry user_info_entrygchar *purple_notify_user_info_entry_get_value(user_info_entry)	Purple::NotifyUserInfoEntry user_info_entry

⌨️ 快捷键说明

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