Mercurial > pidgin
view libpurple/plugins/perl/common/Notify.xs @ 21041:094bbbe89d0d
Track the actual visibility for the buddy list (unobscured, partially and
fully obscured). This maintains the behavior from the previous commit
(raising partially obscured buddy list instead of hiding), but also
maintains refreshing of the buddy list when partially obscured which the
previous commit broke.
author | Casey Harkins <charkins@pidgin.im> |
---|---|
date | Sun, 28 Oct 2007 18:13:50 +0000 |
parents | ab6d2763b8d8 |
children | 47292ff1032c |
line wrap: on
line source
#include "module.h" MODULE = Purple::Notify PACKAGE = Purple::Notify PREFIX = purple_notify_ PROTOTYPES: ENABLE BOOT: { 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)); } void purple_notify_close(type, ui_handle) Purple::NotifyType type void * ui_handle void purple_notify_close_with_handle(handle) void * handle void * 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_data void * 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_data void * 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_data void * 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_data Purple::NotifyUiOps purple_notify_get_ui_ops() void purple_notify_set_ui_ops(ops) Purple::NotifyUiOps ops void * 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_data void * 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_data void * purple_notify_uri(handle, uri) void * handle const char *uri MODULE = Purple::Notify PACKAGE = Purple::NotifyUserInfo PREFIX = purple_notify_user_info_ PROTOTYPES: ENABLE Purple::NotifyUserInfo purple_notify_user_info_new(class) C_ARGS: /* void */ void purple_notify_user_info_destroy(user_info) Purple::NotifyUserInfo user_info void purple_notify_user_info_get_entries(user_info) Purple::NotifyUserInfo user_info PREINIT: 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 *newline void purple_notify_user_info_add_pair(user_info, label, value) Purple::NotifyUserInfo user_info const char *label const char *value void purple_notify_user_info_prepend_pair(user_info, label, value) Purple::NotifyUserInfo user_info const char *label const char *value void purple_notify_user_info_add_section_break(user_info) Purple::NotifyUserInfo user_info void purple_notify_user_info_add_section_header(user_info, label) Purple::NotifyUserInfo user_info const char *label void purple_notify_user_info_remove_last_item(user_info) Purple::NotifyUserInfo user_info gchar * purple_notify_user_info_entry_get_label(user_info_entry) Purple::NotifyUserInfoEntry user_info_entry gchar * purple_notify_user_info_entry_get_value(user_info_entry) Purple::NotifyUserInfoEntry user_info_entry