Mercurial > pidgin.yaz
diff libpurple/roomlist.c @ 23501:00eaff9396ec
propagate from branch 'im.pidgin.pidgin' (head e39a6e9be3df05b59a878001feb9276b9ceb66a9)
to branch 'im.pidgin.pidgin.khc.msnp15' (head c5b8a906c26f5cb0fd8c7256852e3c1e346d7863)
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Wed, 06 Feb 2008 03:35:04 +0000 |
parents | edca47ee06c5 |
children | d18f44ae1143 |
line wrap: on
line diff
--- a/libpurple/roomlist.c Sun Jan 13 00:29:56 2008 +0000 +++ b/libpurple/roomlist.c Wed Feb 06 03:35:04 2008 +0000 @@ -169,20 +169,25 @@ PurpleRoomlist *purple_roomlist_get_list(PurpleConnection *gc) { + PurplePlugin *prpl = NULL; PurplePluginProtocolInfo *prpl_info = NULL; g_return_val_if_fail(gc != NULL, NULL); - if (gc->prpl != NULL) - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + prpl = purple_connection_get_prpl(gc); - if (prpl_info && prpl_info->roomlist_get_list) + if(prpl != NULL) + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + if(prpl_info && prpl_info->roomlist_get_list) return prpl_info->roomlist_get_list(gc); + return NULL; } void purple_roomlist_cancel_get_list(PurpleRoomlist *list) { + PurplePlugin *prpl = NULL; PurplePluginProtocolInfo *prpl_info = NULL; PurpleConnection *gc; @@ -192,15 +197,19 @@ g_return_if_fail(gc != NULL); - if (gc != NULL && gc->prpl != NULL) - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + if(gc) + prpl = purple_connection_get_prpl(gc); - if (prpl_info && prpl_info->roomlist_cancel) + if(prpl) + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + if(prpl_info && prpl_info->roomlist_cancel) prpl_info->roomlist_cancel(list); } void purple_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRoom *category) { + PurplePlugin *prpl = NULL; PurplePluginProtocolInfo *prpl_info = NULL; PurpleConnection *gc; @@ -211,13 +220,21 @@ gc = purple_account_get_connection(list->account); g_return_if_fail(gc != NULL); - if (gc->prpl != NULL) - prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + if(gc) + prpl = purple_connection_get_prpl(gc); + + if(prpl) + prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); - if (prpl_info && prpl_info->roomlist_expand_category) + if(prpl_info && prpl_info->roomlist_expand_category) prpl_info->roomlist_expand_category(list, category); } +GList * purple_roomlist_get_fields(PurpleRoomlist *list) +{ + return list->fields; +} + /*@}*/ /**************************************************************************/ @@ -293,6 +310,26 @@ g_hash_table_destroy(components); } +PurpleRoomlistRoomType purple_roomlist_room_get_type(PurpleRoomlistRoom *room) +{ + return room->type; +} + +const char * purple_roomlist_room_get_name(PurpleRoomlistRoom *room) +{ + return room->name; +} + +PurpleRoomlistRoom * purple_roomlist_room_get_parent(PurpleRoomlistRoom *room) +{ + return room->parent; +} + +GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom *room) +{ + return room->fields; +} + /*@}*/ /**************************************************************************/ @@ -319,6 +356,21 @@ return f; } +PurpleRoomlistFieldType purple_roomlist_field_get_type(PurpleRoomlistField *field) +{ + return field->type; +} + +const char * purple_roomlist_field_get_label(PurpleRoomlistField *field) +{ + return field->label; +} + +gboolean purple_roomlist_field_get_hidden(PurpleRoomlistField *field) +{ + return field->hidden; +} + /*@}*/ /**************************************************************************/