comparison libpurple/protocols/jabber/caps.h @ 25191:5ad14a53e266

Partial disapproval of b8fdbd255c614e7305f835b843a3414675a86a19 Don't refcount the Client Info struct. It's always owned by the capstable and will be freed via jabber_caps_uninit().
author Paul Aurich <paul@darkrain42.org>
date Fri, 19 Dec 2008 04:28:38 +0000
parents 3bec4f4db198
children bc7fac8e2f79
comparison
equal deleted inserted replaced
25190:3bec4f4db198 25191:5ad14a53e266
33 struct _JabberCapsClientInfo { 33 struct _JabberCapsClientInfo {
34 GList *identities; /* JabberIdentity */ 34 GList *identities; /* JabberIdentity */
35 GList *features; /* char * */ 35 GList *features; /* char * */
36 GList *forms; /* xmlnode * */ 36 GList *forms; /* xmlnode * */
37 JabberCapsNodeExts *exts; 37 JabberCapsNodeExts *exts;
38 guint ref;
39 }; 38 };
40 39
41 /* 40 /*
42 * This stores a set of exts "known" for a specific node (which indicates 41 * This stores a set of exts "known" for a specific node (which indicates
43 * a specific client -- for reference, Pidgin, Finch, Meebo, et al share one 42 * a specific client -- for reference, Pidgin, Finch, Meebo, et al share one
53 */ 52 */
54 struct _JabberCapsNodeExts { 53 struct _JabberCapsNodeExts {
55 guint ref; 54 guint ref;
56 GHashTable *exts; /* char *ext_name -> GList *features */ 55 GHashTable *exts; /* char *ext_name -> GList *features */
57 }; 56 };
58
59 /**
60 * Adjust the refcount for JabberCapsClientInfo. When the refcount reaches
61 * 0, the data will be destroyed.
62 */
63 void jabber_caps_client_info_unref(JabberCapsClientInfo *info);
64 JabberCapsClientInfo* jabber_caps_client_info_ref(JabberCapsClientInfo *info);
65
66 57
67 typedef void (*jabber_caps_get_info_cb)(JabberCapsClientInfo *info, GList *exts, gpointer user_data); 58 typedef void (*jabber_caps_get_info_cb)(JabberCapsClientInfo *info, GList *exts, gpointer user_data);
68 59
69 void jabber_caps_init(void); 60 void jabber_caps_init(void);
70 void jabber_caps_uninit(void); 61 void jabber_caps_uninit(void);