Mercurial > pidgin
comparison libpurple/protocols/jabber/disco.c @ 17839:0370da969e8a
Implemented adding callbacks for PEP events. Moved the feature list to be application-global instead of per-connection (makes more sense).
author | Andreas Monitzer <pidgin@monitzer.com> |
---|---|
date | Wed, 06 Jun 2007 02:07:53 +0000 |
parents | 95affacf6f82 |
children | e49b259fc7dd |
comparison
equal
deleted
inserted
replaced
17838:2f67cb504a51 | 17839:0370da969e8a |
---|---|
98 SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im") | 98 SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im") |
99 SUPPORT_FEATURE("http://www.xmpp.org/extensions/xep-0199.html#ns") | 99 SUPPORT_FEATURE("http://www.xmpp.org/extensions/xep-0199.html#ns") |
100 | 100 |
101 if(!node) { /* non-caps disco#info, add all extensions */ | 101 if(!node) { /* non-caps disco#info, add all extensions */ |
102 GList *features; | 102 GList *features; |
103 for(features = js->features; features; features = features->next) { | 103 for(features = jabber_features; features; features = features->next) { |
104 JabberFeature *feat = (JabberFeature*)features->data; | 104 JabberFeature *feat = (JabberFeature*)features->data; |
105 SUPPORT_FEATURE(feat->namespace); | 105 SUPPORT_FEATURE(feat->namespace); |
106 } | 106 } |
107 } | 107 } |
108 } else { | 108 } else { |
124 } | 124 } |
125 | 125 |
126 if(ext != NULL) { | 126 if(ext != NULL) { |
127 /* look for that ext */ | 127 /* look for that ext */ |
128 GList *features; | 128 GList *features; |
129 for(features = js->features; features; features = features->next) { | 129 for(features = jabber_features; features; features = features->next) { |
130 JabberFeature *feat = (JabberFeature*)features->data; | 130 JabberFeature *feat = (JabberFeature*)features->data; |
131 if(!strcmp(feat->shortname, ext)) { | 131 if(!strcmp(feat->shortname, ext)) { |
132 SUPPORT_FEATURE(feat->namespace); | 132 SUPPORT_FEATURE(feat->namespace); |
133 break; | 133 break; |
134 } | 134 } |
305 for (child = xmlnode_get_child(query, "identity"); child; | 305 for (child = xmlnode_get_child(query, "identity"); child; |
306 child = xmlnode_get_next_twin(child)) { | 306 child = xmlnode_get_next_twin(child)) { |
307 const char *category, *type, *name; | 307 const char *category, *type, *name; |
308 category = xmlnode_get_attrib(child, "category"); | 308 category = xmlnode_get_attrib(child, "category"); |
309 type = xmlnode_get_attrib(child, "type"); | 309 type = xmlnode_get_attrib(child, "type"); |
310 if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) { | 310 if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) |
311 /* server supports pep, initialize it */ | 311 js->pep = TRUE; |
312 jabber_pep_init(js); | |
313 } | |
314 if (!category || strcmp(category, "server")) | 312 if (!category || strcmp(category, "server")) |
315 continue; | 313 continue; |
316 if (!type || strcmp(type, "im")) | 314 if (!type || strcmp(type, "im")) |
317 continue; | 315 continue; |
318 | 316 |