| 42 */ |
42 */ |
| 43 struct _GaimRoomlist { |
43 struct _GaimRoomlist { |
| 44 GaimAccount *account; /**< The account this list belongs to. */ |
44 GaimAccount *account; /**< The account this list belongs to. */ |
| 45 GList *fields; /**< The fields. */ |
45 GList *fields; /**< The fields. */ |
| 46 GList *rooms; /**< The list of rooms. */ |
46 GList *rooms; /**< The list of rooms. */ |
| |
47 gboolean in_progress; /**< The listing is in progress. */ |
| 47 gpointer ui_data; /**< UI private data. */ |
48 gpointer ui_data; /**< UI private data. */ |
| 48 gpointer proto_data; /** Prpl private data. */ |
49 gpointer proto_data; /** Prpl private data. */ |
| 49 guint ref; /**< The reference count. */ |
50 guint ref; /**< The reference count. */ |
| 50 }; |
51 }; |
| 51 |
52 |
| 158 * @param in_progress We're downloading it, or we're not. |
159 * @param in_progress We're downloading it, or we're not. |
| 159 */ |
160 */ |
| 160 void gaim_roomlist_set_in_progress(GaimRoomlist *list, gboolean in_progress); |
161 void gaim_roomlist_set_in_progress(GaimRoomlist *list, gboolean in_progress); |
| 161 |
162 |
| 162 /** |
163 /** |
| |
164 * Gets the "in progress" state of the room list. |
| |
165 * |
| |
166 * The UI is encourged to somehow hint to the user |
| |
167 * whether or not we're busy downloading a room list or not. |
| |
168 * |
| |
169 * @param list The room list. |
| |
170 * @returns True if we're downloading it, or false if we're not. |
| |
171 */ |
| |
172 gboolean gaim_roomlist_get_in_progress(GaimRoomlist *list); |
| |
173 |
| |
174 /** |
| 163 * Adds a room to the list of them. |
175 * Adds a room to the list of them. |
| 164 * |
176 * |
| 165 * @param list The room list. |
177 * @param list The room list. |
| 166 * @param room The room to add to the list. The GList of fields must be in the same |
178 * @param room The room to add to the list. The GList of fields must be in the same |
| 167 order as was given in gaim_roomlist_set_fields(). |
179 order as was given in gaim_roomlist_set_fields(). |
| 236 * @param room The room. |
248 * @param room The room. |
| 237 * @param field The field to append. Strings get g_strdup'd internally. |
249 * @param field The field to append. Strings get g_strdup'd internally. |
| 238 */ |
250 */ |
| 239 void gaim_roomlist_room_add_field(GaimRoomlist *list, GaimRoomlistRoom *room, gconstpointer field); |
251 void gaim_roomlist_room_add_field(GaimRoomlist *list, GaimRoomlistRoom *room, gconstpointer field); |
| 240 |
252 |
| |
253 /** |
| |
254 * Join a room, given a GaimRoomlistRoom and it's associated GaimRoomlist. |
| |
255 * |
| |
256 * @param list The room list the room belongs to. |
| |
257 * @param room The room to join. |
| |
258 */ |
| |
259 void gaim_roomlist_room_join(GaimRoomlist *list, GaimRoomlistRoom *room); |
| |
260 |
| 241 /*@}*/ |
261 /*@}*/ |
| 242 |
262 |
| 243 /**************************************************************************/ |
263 /**************************************************************************/ |
| 244 /** @name Room Field API */ |
264 /** @name Room Field API */ |
| 245 /**************************************************************************/ |
265 /**************************************************************************/ |