roomlist.h
Go to the documentation of this file.
1 
6 /* purple
7  *
8  * Purple is the legal property of its developers, whose names are too numerous
9  * to list here. Please refer to the COPYRIGHT file distributed with this
10  * source distribution.
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
25  */
26 
27 #ifndef _PURPLE_ROOMLIST_H_
28 #define _PURPLE_ROOMLIST_H_
29 
30 typedef struct _PurpleRoomlist PurpleRoomlist;
35 
41 typedef enum
42 {
47 
51 typedef enum
52 {
53  PURPLE_ROOMLIST_FIELD_BOOL,
54  PURPLE_ROOMLIST_FIELD_INT,
58 
59 #include "account.h"
60 #include <glib.h>
61 
62 /**************************************************************************/
64 /**************************************************************************/
65 
71  GList *fields;
72  GList *rooms;
73  gboolean in_progress;
74  gpointer ui_data;
75  gpointer proto_data;
76  guint ref;
77 };
78 
84  gchar *name;
85  GList *fields;
87  gboolean expanded_once;
88 };
89 
95  gchar *label;
96  gchar *name;
97  gboolean hidden;
98 };
99 
104  void (*show_with_account)(PurpleAccount *account);
105  void (*create)(PurpleRoomlist *list);
106  void (*set_fields)(PurpleRoomlist *list, GList *fields);
108  void (*in_progress)(PurpleRoomlist *list, gboolean flag);
109  void (*destroy)(PurpleRoomlist *list);
111  void (*_purple_reserved1)(void);
112  void (*_purple_reserved2)(void);
113  void (*_purple_reserved3)(void);
114  void (*_purple_reserved4)(void);
115 };
116 
117 
118 #ifdef __cplusplus
119 extern "C" {
120 #endif
121 
122 /**************************************************************************/
124 /**************************************************************************/
137 
147 
154 
164 
174 void purple_roomlist_set_fields(PurpleRoomlist *list, GList *fields);
175 
185 void purple_roomlist_set_in_progress(PurpleRoomlist *list, gboolean in_progress);
186 
197 
206 
217 
227 
240 
248 GList * purple_roomlist_get_fields(PurpleRoomlist *roomlist);
249 
252 /**************************************************************************/
254 /**************************************************************************/
267  PurpleRoomlistRoom *parent);
268 
276 void purple_roomlist_room_add_field(PurpleRoomlist *list, PurpleRoomlistRoom *room, gconstpointer field);
277 
285 
293 
301 
309 
318 
321 /**************************************************************************/
323 /**************************************************************************/
338  const gchar *label, const gchar *name,
339  gboolean hidden);
340 
350 
360 
369 
372 /**************************************************************************/
374 /**************************************************************************/
383 
391 
394 #ifdef __cplusplus
395 }
396 #endif
397 
398 #endif /* _PURPLE_ROOMLIST_H_ */