| 189 const char *extname = key; |
189 const char *extname = key; |
| 190 JabberCapsValueExt *props = value; |
190 JabberCapsValueExt *props = value; |
| 191 xmlnode *root = user_data; |
191 xmlnode *root = user_data; |
| 192 xmlnode *ext = xmlnode_new_child(root,"ext"); |
192 xmlnode *ext = xmlnode_new_child(root,"ext"); |
| 193 GList *iter; |
193 GList *iter; |
| 194 |
194 |
| 195 xmlnode_set_attrib(ext,"identifier",extname); |
195 xmlnode_set_attrib(ext,"identifier",extname); |
| 196 |
196 |
| 197 for(iter = props->identities; iter; iter = g_list_next(iter)) { |
197 for(iter = props->identities; iter; iter = g_list_next(iter)) { |
| 198 JabberCapsIdentity *id = iter->data; |
198 JabberCapsIdentity *id = iter->data; |
| 199 xmlnode *identity = xmlnode_new_child(ext, "identity"); |
199 xmlnode *identity = xmlnode_new_child(ext, "identity"); |
| 200 xmlnode_set_attrib(identity, "category", id->category); |
200 xmlnode_set_attrib(identity, "category", id->category); |
| 201 xmlnode_set_attrib(identity, "type", id->type); |
201 xmlnode_set_attrib(identity, "type", id->type); |
| 202 xmlnode_set_attrib(identity, "name", id->name); |
202 if (id->name) |
| 203 } |
203 xmlnode_set_attrib(identity, "name", id->name); |
| 204 |
204 } |
| |
205 |
| 205 for(iter = props->features; iter; iter = g_list_next(iter)) { |
206 for(iter = props->features; iter; iter = g_list_next(iter)) { |
| 206 const char *feat = iter->data; |
207 const char *feat = iter->data; |
| 207 xmlnode *feature = xmlnode_new_child(ext, "feature"); |
208 xmlnode *feature = xmlnode_new_child(ext, "feature"); |
| 208 xmlnode_set_attrib(feature, "var", feat); |
209 xmlnode_set_attrib(feature, "var", feat); |
| 209 } |
210 } |