summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@pidgin.im>2008-01-06 18:52:15 +0000
committerSadrul Habib Chowdhury <sadrul@pidgin.im>2008-01-06 18:52:15 +0000
commit77ff312d9477a3d960634556a56df3141303ece2 (patch)
treee594ca47399ec358ff06c80876c98c2997d7b2d7
parent0b12e273ff95479f42fc213d31d4debc78b64495 (diff)
downloadpidgin-77ff312d9477a3d960634556a56df3141303ece2.tar.gz
A list of accessor functions to the roomlist API.
-rw-r--r--ChangeLog.API9
-rw-r--r--libpurple/roomlist.c40
-rw-r--r--libpurple/roomlist.h72
3 files changed, 121 insertions, 0 deletions
diff --git a/ChangeLog.API b/ChangeLog.API
index 3821534ad6..183ddb0e1b 100644
--- a/ChangeLog.API
+++ b/ChangeLog.API
@@ -9,6 +9,15 @@ version 2.4.0 (??/??/????):
purple_micro_version variables are exported by version.h,
giving the version of libpurple in use at runtime.
* purple_util_set_current_song, purple_util_format_song_info
+ * Some accessor functions to the Roomlist API:
+ * purple_roomlist_get_fields
+ * purple_roomlist_room_get_type
+ * purple_roomlist_room_get_name
+ * purple_roomlist_room_get_parent
+ * purple_roomlist_room_get_fields
+ * purple_roomlist_field_get_type
+ * purple_roomlist_field_get_label
+ * purple_roomlist_field_get_hidden
Pidgin:
Added:
diff --git a/libpurple/roomlist.c b/libpurple/roomlist.c
index c8873069e6..83e954797c 100644
--- a/libpurple/roomlist.c
+++ b/libpurple/roomlist.c
@@ -218,6 +218,11 @@ void purple_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRoom *c
prpl_info->roomlist_expand_category(list, category);
}
+GList * purple_roomlist_get_fields(PurpleRoomlist *list)
+{
+ return list->fields;
+}
+
/*@}*/
/**************************************************************************/
@@ -293,6 +298,26 @@ void purple_roomlist_room_join(PurpleRoomlist *list, PurpleRoomlistRoom *room)
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 +344,21 @@ PurpleRoomlistField *purple_roomlist_field_new(PurpleRoomlistFieldType type,
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;
+}
+
/*@}*/
/**************************************************************************/
diff --git a/libpurple/roomlist.h b/libpurple/roomlist.h
index ed7ed16374..a35c2a7fc3 100644
--- a/libpurple/roomlist.h
+++ b/libpurple/roomlist.h
@@ -237,6 +237,15 @@ void purple_roomlist_cancel_get_list(PurpleRoomlist *list);
*/
void purple_roomlist_expand_category(PurpleRoomlist *list, PurpleRoomlistRoom *category);
+/**
+ * Get the list of fields for a roomlist.
+ *
+ * @param roomlist The roomlist, which must not be @c NULL.
+ * @constreturn A list of fields
+ * @since 2.4.0
+ */
+GList * purple_roomlist_get_fields(PurpleRoomlist *roomlist);
+
/*@}*/
/**************************************************************************/
@@ -273,6 +282,39 @@ void purple_roomlist_room_add_field(PurpleRoomlist *list, PurpleRoomlistRoom *ro
*/
void purple_roomlist_room_join(PurpleRoomlist *list, PurpleRoomlistRoom *room);
+/**
+ * Get the type of a room.
+ * @param room The room, which must not be @c NULL.
+ * @return The type of the room.
+ * @since 2.4.0
+ */
+PurpleRoomlistRoomType purple_roomlist_room_get_type(PurpleRoomlistRoom *room);
+
+/**
+ * Get the name of a room.
+ * @param room The room, which must not be @c NULL.
+ * @return The name of the room.
+ * @since 2.4.0
+ */
+const char * purple_roomlist_room_get_name(PurpleRoomlistRoom *room);
+
+/**
+ * Get the parent of a room.
+ * @param room The room, which must not be @c NULL.
+ * @return The parent of the room, which can be @c NULL.
+ * @since 2.4.0
+ */
+PurpleRoomlistRoom * purple_roomlist_room_get_parent(PurpleRoomlistRoom *room);
+
+/**
+ * Get the list of fields for a room.
+ *
+ * @param room The room, which must not be @c NULL.
+ * @constreturn A list of fields
+ * @since 2.4.0
+ */
+GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom *room);
+
/*@}*/
/**************************************************************************/
@@ -294,6 +336,36 @@ void purple_roomlist_room_join(PurpleRoomlist *list, PurpleRoomlistRoom *room);
PurpleRoomlistField *purple_roomlist_field_new(PurpleRoomlistFieldType type,
const gchar *label, const gchar *name,
gboolean hidden);
+
+/**
+ * Get the type of a field.
+ *
+ * @param field A PurpleRoomlistField, which must not be @c NULL.
+ *
+ * @return The type of the field.
+ * @since 2.4.0
+ */
+PurpleRoomlistFieldType purple_roomlist_field_get_type(PurpleRoomlistField *field);
+
+/**
+ * Get the label of a field.
+ *
+ * @param field A PurpleRoomlistField, which must not be @c NULL.
+ *
+ * @return The label of the field.
+ * @since 2.4.0
+ */
+const char * purple_roomlist_field_get_label(PurpleRoomlistField *field);
+
+/**
+ * Check whether a roomlist-field is hidden.
+ * @param field A PurpleRoomlistField, which must not be @c NULL.
+ *
+ * @return @c TRUE if the field is hidden, @c FALSE otherwise.
+ * @since 2.4.0
+ */
+gboolean purple_roomlist_field_get_hidden(PurpleRoomlistField *field);
+
/*@}*/
/**************************************************************************/