diff options
author | Marius Halden <marius.h@lden.org> | 2016-07-13 09:29:28 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-07-13 09:29:28 +0200 |
commit | 0e1b8357a5a15891caf92eeb888e3f272dedf1d6 (patch) | |
tree | 73c3942f2eb2db2dc7bdd445cb1d4017e9447b24 /protocols/purple/purple.c | |
parent | ef9769c1e59dec5435670b507712c5fa9dfede67 (diff) |
Revert "purple: added room listing support"
This reverts commit e83d450ef16d9a3783f5daff632c4ac57ceb8fec.
Diffstat (limited to 'protocols/purple/purple.c')
-rw-r--r-- | protocols/purple/purple.c | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 23183902..c10d435b 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -365,21 +365,6 @@ static void purple_login(account_t *acc) } } -static void purple_chatlist_free(struct im_connection *ic) -{ - bee_chat_info_t *ci; - GSList *l = ic->chatlist; - - while (l) { - ci = l->data; - l = g_slist_delete_link(l, l); - - g_free(ci->title); - g_free(ci->topic); - g_free(ci); - } -} - static void purple_logout(struct im_connection *ic) { struct purple_data *pd = ic->proto_data; @@ -397,7 +382,6 @@ static void purple_logout(struct im_connection *ic) purple_account_set_enabled(pd->account, "BitlBee", FALSE); purple_connections = g_slist_remove(purple_connections, ic); purple_accounts_remove(pd->account); - purple_chatlist_free(ic); g_hash_table_destroy(pd->input_requests); g_free(pd); } @@ -761,13 +745,6 @@ struct groupchat *purple_chat_join(struct im_connection *ic, const char *room, c return imcb_chat_new(ic, room); } -void purple_chat_list(struct im_connection *ic, const char *server) -{ - struct purple_data *pd = ic->proto_data; - - purple_roomlist_get_list(pd->account->gc); -} - void purple_transfer_request(struct im_connection *ic, file_transfer_t *ft, char *handle); static void purple_ui_init(); @@ -1303,105 +1280,6 @@ static PurplePrivacyUiOps bee_privacy_uiops = prplcb_privacy_deny_removed, /* deny_removed */ }; -static void prplcb_roomlist_create(PurpleRoomlist *list) -{ - struct purple_roomlist_data *rld; - - list->ui_data = rld = g_new0(struct purple_roomlist_data, 1); - rld->topic = -1; - rld->userc = -1; -} - -static void prplcb_roomlist_set_fields(PurpleRoomlist *list, GList *fields) -{ - GList *l; - guint i; - PurpleRoomlistField *field; - struct purple_roomlist_data *rld = list->ui_data; - - for (i = 0, l = fields; l; i++, l = l->next) { - field = l->data; - - if ((g_strcasecmp(field->name, "description") == 0) || - (g_strcasecmp(field->name, "topic") == 0)) { - if (field->type == PURPLE_ROOMLIST_FIELD_STRING) { - rld->topic = i; - } - } else if (g_strcasecmp(field->name, "users") == 0) { - if (field->type == PURPLE_ROOMLIST_FIELD_INT) { - rld->userc = i; - } - } - } -} - -static void prplcb_roomlist_add_room(PurpleRoomlist *list, PurpleRoomlistRoom *room) -{ - bee_chat_info_t *ci; - const char *title; - const char *topic; - GList *fields; - gpointer data; - struct purple_roomlist_data *rld = list->ui_data; - - fields = purple_roomlist_room_get_fields(room); - title = purple_roomlist_room_get_name(room); - - if (rld->topic >= 0) { - topic = g_list_nth_data(fields, rld->topic); - } else { - topic = NULL; - } - - ci = g_new(bee_chat_info_t, 1); - ci->title = g_strdup(title); - ci->topic = g_strdup(topic); - rld->chats = g_slist_prepend(rld->chats, ci); - - if (rld->userc >= 0) { - data = g_list_nth_data(fields, rld->userc); - ci->userc = GPOINTER_TO_INT(data); - } else { - ci->userc = -1; - } -} - -static void prplcb_roomlist_in_progress(PurpleRoomlist *list, gboolean in_progress) -{ - struct im_connection *ic; - struct purple_roomlist_data *rld = list->ui_data; - - if (in_progress) { - return; - } - - ic = purple_ic_by_pa(list->account); - purple_chatlist_free(ic); - - ic->chatlist = g_slist_reverse(rld->chats); - rld->chats = NULL; - - bee_chat_list_finish(ic); - purple_roomlist_unref(list); -} - -static void prplcb_roomlist_destroy(PurpleRoomlist *list) -{ - /* bee_chat_list_finish() frees rld->chats */ - g_free(list->ui_data); - list->ui_data = NULL; -} - -static PurpleRoomlistUiOps bee_roomlist_uiops = -{ - NULL, /* show_with_account */ - prplcb_roomlist_create, /* create */ - prplcb_roomlist_set_fields, /* set_fields */ - prplcb_roomlist_add_room, /* add_room */ - prplcb_roomlist_in_progress, /* in_progress */ - prplcb_roomlist_destroy, /* destroy */ -}; - static void prplcb_debug_print(PurpleDebugLevel level, const char *category, const char *arg_s) { fprintf(stderr, "DEBUG %s: %s", category, arg_s); @@ -1566,7 +1444,6 @@ static void purple_ui_init() purple_conversations_set_ui_ops(&bee_conv_uiops); purple_request_set_ui_ops(&bee_request_uiops); purple_privacy_set_ui_ops(&bee_privacy_uiops); - purple_roomlist_set_ui_ops(&bee_roomlist_uiops); purple_notify_set_ui_ops(&bee_notify_uiops); purple_accounts_set_ui_ops(&bee_account_uiops); purple_xfers_set_ui_ops(&bee_xfer_uiops); @@ -1658,7 +1535,6 @@ void purple_initmodule() funcs.chat_kick = purple_chat_kick; funcs.chat_leave = purple_chat_leave; funcs.chat_join = purple_chat_join; - funcs.chat_list = purple_chat_list; funcs.transfer_request = purple_transfer_request; help = g_string_new("BitlBee libpurple module supports the following IM protocols:\n"); |