comparison mcabber/src/roster.c @ 1600:c5ee395fbc8c

Updated Entity Capabilities support (XEP-0115)
author franky
date Tue, 23 Sep 2008 10:59:25 +0200
parents dcd5d4c75199
children
comparison
equal deleted inserted replaced
1599:dcd5d4c75199 1600:c5ee395fbc8c
65 time_t status_timestamp; 65 time_t status_timestamp;
66 enum imrole role; 66 enum imrole role;
67 enum imaffiliation affil; 67 enum imaffiliation affil;
68 gchar *realjid; /* for chatrooms, if buddy's real jid is known */ 68 gchar *realjid; /* for chatrooms, if buddy's real jid is known */
69 guint events; 69 guint events;
70 char *caps;
70 #ifdef JEP0022 71 #ifdef JEP0022
71 struct jep0022 jep22; 72 struct jep0022 jep22;
72 #endif 73 #endif
73 #ifdef JEP0085 74 #ifdef JEP0085
74 struct jep0085 jep85; 75 struct jep0085 jep85;
148 g_free(p_res->jep22.last_msgid_rcvd); 149 g_free(p_res->jep22.last_msgid_rcvd);
149 #endif 150 #endif
150 #ifdef HAVE_GPGME 151 #ifdef HAVE_GPGME
151 g_free(p_res->pgpdata.sign_keyid); 152 g_free(p_res->pgpdata.sign_keyid);
152 #endif 153 #endif
154 g_free(p_res->caps);
153 g_free(p_res); 155 g_free(p_res);
154 } 156 }
155 157
156 static void free_all_resources(GSList **reslist) 158 static void free_all_resources(GSList **reslist)
157 { 159 {
1194 res *p_res = get_resource(roster_usr, resname); 1196 res *p_res = get_resource(roster_usr, resname);
1195 if (p_res) 1197 if (p_res)
1196 p_res->events = events; 1198 p_res->events = events;
1197 } 1199 }
1198 1200
1201 char *buddy_resource_getcaps(gpointer rosterdata, const char *resname)
1202 {
1203 roster *roster_usr = rosterdata;
1204 res *p_res = get_resource(roster_usr, resname);
1205 if (p_res)
1206 return p_res->caps;
1207 return NULL;
1208 }
1209
1210 void buddy_resource_setcaps(gpointer rosterdata, const char *resname,
1211 const char *caps)
1212 {
1213 roster *roster_usr = rosterdata;
1214 res *p_res = get_resource(roster_usr, resname);
1215 if (p_res) {
1216 g_free(p_res->caps);
1217 p_res->caps = g_strdup(caps);
1218 }
1219 }
1220
1199 struct jep0022 *buddy_resource_jep22(gpointer rosterdata, const char *resname) 1221 struct jep0022 *buddy_resource_jep22(gpointer rosterdata, const char *resname)
1200 { 1222 {
1201 #ifdef JEP0022 1223 #ifdef JEP0022
1202 roster *roster_usr = rosterdata; 1224 roster *roster_usr = rosterdata;
1203 res *p_res = get_resource(roster_usr, resname); 1225 res *p_res = get_resource(roster_usr, resname);