Mercurial > pidgin
diff plugins/perl/common/BuddyList.xs @ 6531:7c42b8ca3222
[gaim-migrate @ 7048]
Added a buddy list API to perl. Untested. Should work, which is why it
won't.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 21 Aug 2003 00:06:15 +0000 |
parents | |
children | eae61831e596 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/perl/common/BuddyList.xs Thu Aug 21 00:06:15 2003 +0000 @@ -0,0 +1,264 @@ +#include "module.h" + +MODULE = Gaim::BuddyList PACKAGE = Gaim::BuddyList PREFIX = gaim_blist_ +PROTOTYPES: ENABLE + +void +gaim_blist_set_visible(show) + gboolean show + +void +add_buddy(buddy, group) + Gaim::BuddyList::Buddy buddy + Gaim::BuddyList::Group group +CODE: + gaim_blist_add_buddy(buddy, group, NULL); + +void +add_group(group) + Gaim::BuddyList::Group group +CODE: + gaim_blist_add_group(group, NULL); + +void +add_chat(chat, group) + Gaim::BuddyList::Chat chat + Gaim::BuddyList::Group group +CODE: + gaim_blist_add_chat(chat, group, NULL); + +void +gaim_blist_remove_buddy(buddy) + Gaim::BuddyList::Buddy buddy + +void +gaim_blist_remove_group(group) + Gaim::BuddyList::Group group + +void +gaim_blist_remove_chat(chat) + Gaim::BuddyList::Chat chat + +Gaim::BuddyList::Buddy +find_buddy(account, name) + Gaim::Account account + const char *name +CODE: + RETVAL = gaim_find_buddy(account, name); +OUTPUT: + RETVAL + +void +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"))); + } + + g_slist_free(l); + +Gaim::BuddyList::Group +find_group(name) + const char *name +CODE: + RETVAL = gaim_find_group(name); +OUTPUT: + RETVAL + +Gaim::BuddyList::Chat +gaim_blist_find_chat(account, name) + Gaim::Account account + const char *name + + +########################################################################### +MODULE = Gaim::GroupList::Group PACKAGE = Gaim::GroupList::Group PREFIX = gaim_group_ +PROTOTYPES: ENABLE +########################################################################### + +Gaim::BuddyList::Group +new(name) + const char *name +CODE: + RETVAL = gaim_group_new(name); +OUTPUT: + RETVAL + +void +rename(group, new_name) + Gaim::BuddyList::Group group + const char *new_name +CODE: + gaim_blist_rename_group(group, new_name); + +void +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"))); + +int +get_size(group, offline) + Gaim::BuddyList::Group group + gboolean offline +CODE: + RETVAL = gaim_blist_get_group_size(group, offline); +OUTPUT: + RETVAL + +int +get_online_count(group) + Gaim::BuddyList::Group group +CODE: + RETVAL = gaim_blist_get_group_online_count(group); +OUTPUT: + RETVAL + +void +gaim_group_set_setting(group, key, value) + Gaim::BuddyList::Group group + const char *key + const char *value + +const char * +gaim_group_get_setting(group, key) + Gaim::BuddyList::Group group + const char *key + + +########################################################################### +MODULE = Gaim::BuddyList::Buddy PACKAGE = Gaim::BuddyList::Buddy PREFIX = gaim_buddy_ +PROTOTYPES: ENABLE +########################################################################### + +Gaim::BuddyList::Buddy +new(account, name, alias) + Gaim::Account account + const char *name + const char *alias +CODE: + RETVAL = gaim_buddy_new(account, name, alias); +OUTPUT: + RETVAL + +void +update_presence(buddy, presence) + Gaim::BuddyList::Buddy buddy + int presence +CODE: + gaim_blist_update_buddy_presence(buddy, presence); + +void +set_idle_time(buddy, idle) + Gaim::BuddyList::Buddy buddy + int idle +CODE: + gaim_blist_update_buddy_idle(buddy, idle); + +void +set_warning_percent(buddy, warning) + Gaim::BuddyList::Buddy buddy + int warning +CODE: + gaim_blist_update_buddy_evil(buddy, warning); + +void +rename(buddy, new_name) + Gaim::BuddyList::Buddy buddy + const char *new_name +CODE: + gaim_blist_rename_buddy(buddy, new_name); + +void +set_alias(buddy, alias) + Gaim::BuddyList::Buddy buddy + const char *alias +CODE: + gaim_blist_alias_buddy(buddy, alias); + +void +set_server_alias(buddy, alias) + Gaim::BuddyList::Buddy buddy + const char *alias +CODE: + gaim_blist_server_alias_buddy(buddy, alias); + +const char * +get_alias_only(buddy) + Gaim::BuddyList::Buddy buddy +CODE: + RETVAL = gaim_get_buddy_alias_only(buddy); +OUTPUT: + RETVAL + +const char * +get_alias(buddy) + Gaim::BuddyList::Buddy buddy +CODE: + RETVAL = gaim_get_buddy_alias(buddy); +OUTPUT: + RETVAL + +Gaim::BuddyList::Group +get_group(buddy) + Gaim::BuddyList::Buddy buddy +CODE: + RETVAL = gaim_find_buddys_group(buddy); +OUTPUT: + RETVAL + +void +gaim_buddy_set_setting(buddy, key, value) + Gaim::BuddyList::Buddy buddy + const char *key + const char *value + +const char * +gaim_buddy_get_setting(buddy, key) + Gaim::BuddyList::Buddy buddy + const char *key + + +########################################################################### +MODULE = Gaim::BuddyList::Chat PACKAGE = Gaim::BuddyList::Chat PREFIX = gaim_chat_ +PROTOTYPES: ENABLE +########################################################################### + +void +set_alias(chat, alias) + Gaim::BuddyList::Chat chat + const char *alias +CODE: + gaim_blist_alias_chat(chat, alias); + +const char * +gaim_chat_get_display_name(chat) + Gaim::BuddyList::Chat chat + +Gaim::BuddyList::Group +gaim_blist_chat_get_group(chat) + Gaim::BuddyList::Chat chat +CODE: + RETVAL = gaim_blist_chat_get_group(chat); +OUTPUT: + RETVAL + +void +gaim_chat_set_setting(chat, key, value) + Gaim::BuddyList::Chat chat + const char *key + const char *value + +const char * +gaim_chat_get_setting(chat, key) + Gaim::BuddyList::Chat chat + const char *key