Mercurial > pidgin
diff libpurple/plugins/perl/common/BuddyList.xs @ 15373:5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 20 Jan 2007 02:32:10 +0000 |
parents | |
children | 2f8274ce570a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/plugins/perl/common/BuddyList.xs Sat Jan 20 02:32:10 2007 +0000 @@ -0,0 +1,383 @@ +#include "module.h" +#include "../perl-handlers.h" + +MODULE = Gaim::BuddyList PACKAGE = Gaim PREFIX = gaim_ +PROTOTYPES: ENABLE + +Gaim::BuddyList +gaim_get_blist() + +void +gaim_set_blist(blist) + Gaim::BuddyList blist + +MODULE = Gaim::BuddyList PACKAGE = Gaim::Find PREFIX = gaim_find_ +PROTOTYPES: ENABLE + +Gaim::BuddyList::Buddy +gaim_find_buddy(account, name) + Gaim::Account account + const char * name + +void +gaim_find_buddies(account, name) + Gaim::Account account + const char * name +PREINIT: + GSList *l; +PPCODE: + for (l = gaim_find_buddies(account, name); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::BuddyList::Buddy"))); + } + +gboolean +gaim_group_on_account(group, account) + Gaim::BuddyList::Group group + Gaim::Account account + +Gaim::BuddyList::Group +gaim_find_group(name) + const char *name + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList::Contact PREFIX = gaim_contact_ +PROTOTYPES: ENABLE + +Gaim::BuddyList::Contact +gaim_contact_new(); + +Gaim::BuddyList::Buddy +gaim_contact_get_priority_buddy(contact) + Gaim::BuddyList::Contact contact + +void +gaim_contact_set_alias(contact, alias) + Gaim::BuddyList::Contact contact + const char * alias + +const char * +gaim_contact_get_alias(contact) + Gaim::BuddyList::Contact contact + +gboolean +gaim_contact_on_account(contact, account) + Gaim::BuddyList::Contact contact + Gaim::Account account + +void +gaim_contact_invalidate_priority_buddy(contact) + Gaim::BuddyList::Contact contact + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList::Group PREFIX = gaim_group_ +PROTOTYPES: ENABLE + +Gaim::BuddyList::Group +gaim_group_new(name) + const char *name + +void +gaim_group_get_accounts(group) + Gaim::BuddyList::Group group +PREINIT: + GSList *l; +PPCODE: + for (l = gaim_group_get_accounts(group); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Account"))); + } + +gboolean +gaim_group_on_account(group, account) + Gaim::BuddyList::Group group + Gaim::Account account + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList PREFIX = gaim_blist_ +PROTOTYPES: ENABLE + +void +gaim_blist_add_contact(contact, group, node) + Gaim::BuddyList::Contact contact + Gaim::BuddyList::Group group + Gaim::BuddyList::Node node + +void +gaim_blist_merge_contact(source, node) + Gaim::BuddyList::Contact source + Gaim::BuddyList::Node node + +void +gaim_blist_add_group(group, node) + Gaim::BuddyList::Group group + Gaim::BuddyList::Node node + +void +gaim_blist_add_buddy(buddy, contact, group, node) + Gaim::BuddyList::Buddy buddy + Gaim::BuddyList::Contact contact + Gaim::BuddyList::Group group + Gaim::BuddyList::Node node + +void +gaim_blist_remove_buddy(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_blist_remove_contact(contact) + Gaim::BuddyList::Contact contact + +void +gaim_blist_remove_chat(chat) + Gaim::BuddyList::Chat chat + +void +gaim_blist_remove_group(group) + Gaim::BuddyList::Group group + +Gaim::BuddyList::Chat +gaim_blist_find_chat(account, name) + Gaim::Account account + const char *name + +void +gaim_blist_add_chat(chat, group, node) + Gaim::BuddyList::Chat chat + Gaim::BuddyList::Group group + Gaim::BuddyList::Node node + +Gaim::BuddyList +gaim_blist_new() + +void +gaim_blist_show() + +void +gaim_blist_destroy(); + +void +gaim_blist_set_visible(show) + gboolean show + +void +gaim_blist_update_buddy_status(buddy, old_status) + Gaim::BuddyList::Buddy buddy + Gaim::Status old_status + +void +gaim_blist_update_buddy_icon(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_blist_rename_buddy(buddy, name) + Gaim::BuddyList::Buddy buddy + const char * name + +void +gaim_blist_alias_buddy(buddy, alias) + Gaim::BuddyList::Buddy buddy + const char * alias + +void +gaim_blist_server_alias_buddy(buddy, alias) + Gaim::BuddyList::Buddy buddy + const char * alias + +void +gaim_blist_alias_chat(chat, alias) + Gaim::BuddyList::Chat chat + const char * alias + +void +gaim_blist_rename_group(group, name) + Gaim::BuddyList::Group group + const char * name + +void +gaim_blist_add_account(account) + Gaim::Account account + +void +gaim_blist_remove_account(account) + Gaim::Account account + +int +gaim_blist_get_group_size(group, offline) + Gaim::BuddyList::Group group + gboolean offline + +int +gaim_blist_get_group_online_count(group) + Gaim::BuddyList::Group group + +void +gaim_blist_load() + +void +gaim_blist_schedule_save() + +void +gaim_blist_request_add_group() + +void +gaim_blist_set_ui_ops(ops) + Gaim::BuddyList::UiOps ops + +Gaim::BuddyList::UiOps +gaim_blist_get_ui_ops() + +Gaim::Handle +gaim_blist_get_handle() + +void +gaim_blist_init() + +void +gaim_blist_uninit() + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList::Node PREFIX = gaim_blist_node_ +PROTOTYPES: ENABLE + +void +gaim_blist_node_get_extended_menu(node) + Gaim::BuddyList::Node node +PREINIT: + GList *l; +PPCODE: + for (l = gaim_blist_node_get_extended_menu(node); l != NULL; l = l->next) { + XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::Menu::Action"))); + } + +void +gaim_blist_node_set_bool(node, key, value) + Gaim::BuddyList::Node node + const char * key + gboolean value + +gboolean +gaim_blist_node_get_bool(node, key) + Gaim::BuddyList::Node node + const char * key + +void +gaim_blist_node_set_int(node, key, value) + Gaim::BuddyList::Node node + const char * key + int value + +int +gaim_blist_node_get_int(node, key) + Gaim::BuddyList::Node node + const char * key + +const char * +gaim_blist_node_get_string(node, key) + Gaim::BuddyList::Node node + const char * key + +void +gaim_blist_node_remove_setting(node, key) + Gaim::BuddyList::Node node + const char * key + +void +gaim_blist_node_set_flags(node, flags) + Gaim::BuddyList::Node node + Gaim::BuddyList::NodeFlags flags + +Gaim::BuddyList::NodeFlags +gaim_blist_node_get_flags(node) + Gaim::BuddyList::Node node + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList::Chat PREFIX = gaim_chat_ +PROTOTYPES: ENABLE + +Gaim::BuddyList::Group +gaim_chat_get_group(chat) + Gaim::BuddyList::Chat chat + +const char * +gaim_chat_get_name(chat) + Gaim::BuddyList::Chat chat + +Gaim::BuddyList::Chat +gaim_chat_new(account, alias, components) + Gaim::Account account + const char * alias + SV * components +INIT: + HV * t_HV; + HE * t_HE; + SV * t_SV; + GHashTable * t_GHash; + I32 len; + char *t_key, *t_value; +CODE: + t_HV = (HV *)SvRV(components); + t_GHash = g_hash_table_new(g_str_hash, g_str_equal); + + for (t_HE = hv_iternext(t_HV); t_HE != NULL; t_HE = hv_iternext(t_HV) ) { + t_key = hv_iterkey(t_HE, &len); + t_SV = *hv_fetch(t_HV, t_key, len, 0); + t_value = SvPV(t_SV, PL_na); + + g_hash_table_insert(t_GHash, t_key, t_value); + } + + RETVAL = gaim_chat_new(account, alias, t_GHash); +OUTPUT: + RETVAL + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList::Buddy PREFIX = gaim_buddy_ +PROTOTYPES: ENABLE + +Gaim::BuddyList::Buddy +gaim_buddy_new(account, screenname, alias) + Gaim::Account account + const char *screenname + const char *alias + +const char * +gaim_buddy_get_server_alias(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_buddy_set_icon(buddy, icon) + Gaim::BuddyList::Buddy buddy + Gaim::Buddy::Icon icon + +Gaim::Account +gaim_buddy_get_account(buddy) + Gaim::BuddyList::Buddy buddy + +Gaim::BuddyList::Group +gaim_buddy_get_group(buddy) + Gaim::BuddyList::Buddy buddy + +const char * +gaim_buddy_get_name(buddy) + Gaim::BuddyList::Buddy buddy + +Gaim::Buddy::Icon +gaim_buddy_get_icon(buddy) + Gaim::BuddyList::Buddy buddy + +Gaim::BuddyList::Contact +gaim_buddy_get_contact(buddy) + Gaim::BuddyList::Buddy buddy + +Gaim::Presence +gaim_buddy_get_presence(buddy) + Gaim::BuddyList::Buddy buddy + +const char * +gaim_buddy_get_alias_only(buddy) + Gaim::BuddyList::Buddy buddy + +const char * +gaim_buddy_get_contact_alias(buddy) + Gaim::BuddyList::Buddy buddy + +const char * +gaim_buddy_get_local_alias(buddy) + Gaim::BuddyList::Buddy buddy + +const char * +gaim_buddy_get_alias(buddy) + Gaim::BuddyList::Buddy buddy