Mercurial > pidgin
view plugins/perl/common/Conversation.xs @ 11249:b4b1be482b4e
[gaim-migrate @ 13418]
sf patch #1235519, from Sadrul Habib Chowdhury
This is a pretty big patch that makes Gaim correctly save and restore
the current status (away/available, away message, available message,
invisible, etc).
The GaimGtkStatusBoxWidget thing I think defaults to "Available"
every time its created, which overrides the setting that was saved
to the XML file. So that still needs to be fixed before this will
really work.
Anyway, mad props to Sadrul for putting up with my requests on this patch
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 13 Aug 2005 05:22:09 +0000 |
parents | 0e9e2b923d09 |
children | b284c703d398 |
line wrap: on
line source
#include "module.h" /**********************XS Code for Conversation.xs*********************************/ MODULE = Gaim::Conv PACKAGE = Gaim::Conv::Window PREFIX = gaim_conv_window_ PROTOTYPES: ENABLE void gaim_conversations_set_win_ui_ops(ops) Gaim::ConvWindow::UiOps ops Gaim::ConvWindow::UiOps gaim_conversations_get_win_ui_ops() void gaim_conv_window_get_conversations(win) Gaim::ConvWindow win PREINIT: GList *l; PPCODE: for (l = gaim_conv_window_get_conversations(win); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } Gaim::ConvWindow gaim_conv_window_new() void gaim_conv_window_destroy(win) Gaim::ConvWindow win void gaim_conv_window_show(win) Gaim::ConvWindow win void gaim_conv_window_hide(win) Gaim::ConvWindow win void gaim_conv_window_raise(win) Gaim::ConvWindow win size_t gaim_conv_window_get_conversation_count(win) Gaim::ConvWindow win gboolean gaim_conv_window_has_focus(win) Gaim::ConvWindow win Gaim::ConvWindow::UiOps gaim_conv_window_get_ui_ops(win) Gaim::ConvWindow win Gaim::ConvWindow get_first_window_with_type(type) Gaim::ConversationType type CODE: RETVAL = gaim_get_first_window_with_type(type); OUTPUT: RETVAL Gaim::ConvWindow get_last_window_with_type(type) Gaim::ConversationType type CODE: RETVAL = gaim_get_last_window_with_type(type); OUTPUT: RETVAL int gaim_conv_window_add_conversation(win, conv) Gaim::ConvWindow win Gaim::Conversation conv MODULE = Gaim::Conv PACKAGE = Gaim::Conv PREFIX = gaim_conversation_ PROTOTYPES: ENABLE void * gaim_conversations_get_handle() void gaim_conversations_init() void gaim_conversations_uninit() void gaim_conv_placement_get_options() PREINIT: GList *l; PPCODE: for (l = gaim_conv_placement_get_options(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void get_ims() PREINIT: GList *l; PPCODE: for (l = gaim_get_ims(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void get_conversations() PREINIT: GList *l; PPCODE: for (l = gaim_get_conversations(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void get_windows() PREINIT: GList *l; PPCODE: for (l = gaim_get_windows(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void get_chats() PREINIT: GList *l; PPCODE: for (l = gaim_get_chats(); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void gaim_conversation_get_send_history(conv) Gaim::Conversation conv PREINIT: GList *l; PPCODE: for (l = gaim_conversation_get_send_history(conv); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void gaim_conversation_destroy(conv) Gaim::Conversation conv Gaim::ConversationType gaim_conversation_get_type(conv) Gaim::Conversation conv Gaim::Account gaim_conversation_get_account(conv) Gaim::Conversation conv Gaim::Connection gaim_conversation_get_gc(conv) Gaim::Conversation conv void gaim_conversation_set_title(conv, title); Gaim::Conversation conv const char * title const char * gaim_conversation_get_title(conv) Gaim::Conversation conv void gaim_conversation_autoset_title(conv) Gaim::Conversation conv Gaim::UnseenState gaim_conversation_get_unseen(conv) Gaim::Conversation conv void gaim_conversation_set_name(conv, name) Gaim::Conversation conv const char *name const char * gaim_conversation_get_name(conv) Gaim::Conversation conv void gaim_conversation_set_logging(conv, log) Gaim::Conversation conv gboolean log gboolean gaim_conversation_is_logging(conv) Gaim::Conversation conv Gaim::ConvWindow gaim_conversation_get_window(conv) Gaim::Conversation conv Gaim::Conversation::IM gaim_conversation_get_im_data(conv) Gaim::Conversation conv Gaim::Conversation::Chat gaim_conversation_get_chat_data(conv) Gaim::Conversation conv gpointer gaim_conversation_get_data(conv, key) Gaim::Conversation conv const char * key Gaim::ConnectionFlags gaim_conversation_get_features(conv) Gaim::Conversation conv void gaim_conversation_update_progress(conv, percent) Gaim::Conversation conv float percent gboolean gaim_conversation_has_focus(conv) Gaim::Conversation conv void gaim_conversation_update(conv, type) Gaim::Conversation conv Gaim::ConvUpdateType type Gaim::Conversation gaim_conversation_new(type, account, name) Gaim::ConversationType type Gaim::Account account const char *name void gaim_conversation_set_account(conv, account); Gaim::Conversation conv Gaim::Account account MODULE = Gaim::Conv PACKAGE = Gaim::Conv::IM PREFIX = gaim_conv_im_ PROTOTYPES: ENABLE Gaim::Conversation gaim_conv_im_get_conversation(im) Gaim::Conversation::IM im void gaim_conv_im_set_icon(im, icon) Gaim::Conversation::IM im Gaim::Buddy::Icon icon Gaim::Buddy::Icon gaim_conv_im_get_icon(im) Gaim::Conversation::IM im void gaim_conv_im_set_typing_state(im, state) Gaim::Conversation::IM im Gaim::TypingState state Gaim::TypingState gaim_conv_im_get_typing_state(im) Gaim::Conversation::IM im void gaim_conv_im_start_typing_timeout(im, timeout) Gaim::Conversation::IM im int timeout void gaim_conv_im_stop_typing_timeout(im) Gaim::Conversation::IM im guint gaim_conv_im_get_typing_timeout(im) Gaim::Conversation::IM im void gaim_conv_im_set_type_again(im, val) Gaim::Conversation::IM im time_t val time_t gaim_conv_im_get_type_again(im) Gaim::Conversation::IM im void gaim_conv_im_start_type_again_timeout(im) Gaim::Conversation::IM im void gaim_conv_im_stop_type_again_timeout(im) Gaim::Conversation::IM im guint gaim_conv_im_get_type_again_timeout(im) Gaim::Conversation::IM im void gaim_conv_im_update_typing(im) Gaim::Conversation::IM im void gaim_conv_im_send(im, message) Gaim::Conversation::IM im const char *message void gaim_conv_im_write(im, who, message, flags, mtime) Gaim::Conversation::IM im const char *who const char *message Gaim::MessageFlags flags time_t mtime MODULE = Gaim::Conv PACKAGE = Gaim::Conv PREFIX = gaim_conv_ PROTOTYPES: ENABLE gboolean gaim_conv_present_error(who, account, what) const char *who Gaim::Account account const char *what void gaim_conv_custom_smiley_close(conv, smile) Gaim::Conversation conv const char *smile MODULE = Gaim::Conv PACKAGE = Gaim::Conv::Chat PREFIX = gaim_conv_chat_ PROTOTYPES: ENABLE Gaim::Conversation gaim_conv_chat_get_conversation(chat) Gaim::Conversation::Chat chat void gaim_conv_chat_set_users(chat, users) Gaim::Conversation::Chat chat SV * users PREINIT: GList *l, *t_GL; int i, t_len; PPCODE: t_GL = NULL; t_len = av_len((AV *)SvRV(users)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(users), i, 0), t_sl)); } for (l = gaim_conv_chat_set_users(chat, t_GL); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void gaim_conv_chat_get_users(chat) Gaim::Conversation::Chat chat PREINIT: GList *l; PPCODE: for (l = gaim_conv_chat_get_users(chat); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void gaim_conv_chat_ignore(chat, name) Gaim::Conversation::Chat chat const char *name void gaim_conv_chat_unignore(chat, name) Gaim::Conversation::Chat chat const char *name void gaim_conv_chat_set_ignored(chat, ignored) Gaim::Conversation::Chat chat SV * ignored PREINIT: GList *l, *t_GL; int i, t_len; PPCODE: t_GL = NULL; t_len = av_len((AV *)SvRV(ignored)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(ignored), i, 0), t_sl)); } for (l = gaim_conv_chat_set_ignored(chat, t_GL); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } void gaim_conv_chat_get_ignored(chat) Gaim::Conversation::Chat chat PREINIT: GList *l; PPCODE: for (l = gaim_conv_chat_get_ignored(chat); l != NULL; l = l->next) { XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry"))); } const char * gaim_conv_chat_get_topic(chat) Gaim::Conversation::Chat chat void gaim_conv_chat_set_id(chat, id) Gaim::Conversation::Chat chat int id int gaim_conv_chat_get_id(chat) Gaim::Conversation::Chat chat void gaim_conv_chat_send(chat, message) Gaim::Conversation::Chat chat const char * message void gaim_conv_chat_add_users(chat, users, flags) Gaim::Conversation::Chat chat SV * users SV * flags PREINIT: GList *t_GL_users, *t_GL_flags; int i, t_len; PPCODE: t_GL_users = NULL; t_len = av_len((AV *)SvRV(users)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL_users = g_list_append(t_GL_users, SvPV(*av_fetch((AV *)SvRV(users), i, 0), t_sl)); } t_GL_flags = NULL; t_len = av_len((AV *)SvRV(flags)); for (i = 0; i < t_len; i++) { STRLEN t_sl; t_GL_flags = g_list_append(t_GL_flags, SvPV(*av_fetch((AV *)SvRV(flags), i, 0), t_sl)); } gaim_conv_chat_add_users(chat, t_GL_users, t_GL_flags); gboolean gaim_conv_chat_find_user(chat, user) Gaim::Conversation::Chat chat const char * user void gaim_conv_chat_clear_users(chat) Gaim::Conversation::Chat chat void gaim_conv_chat_set_nick(chat, nick) Gaim::Conversation::Chat chat const char * nick const char * gaim_conv_chat_get_nick(chat) Gaim::Conversation::Chat chat Gaim::Conversation gaim_find_chat(gc, id) Gaim::Connection gc int id void gaim_conv_chat_left(chat) Gaim::Conversation::Chat chat gboolean gaim_conv_chat_has_left(chat) Gaim::Conversation::Chat chat Gaim::Conversation::ChatBuddy gaim_conv_chat_cb_find(chat, name) Gaim::Conversation::Chat chat const char *name const char * gaim_conv_chat_cb_get_name(cb) Gaim::Conversation::ChatBuddy cb void gaim_conv_chat_cb_destroy(cb); Gaim::Conversation::ChatBuddy cb