comparison libpurple/protocols/jabber/disco.c @ 25760:f462fa160f06

Sprinkle around more support for xml:lang on JabberIdentities Change the IPC has_feature function to take a PurpleAccount and look up the caps via the jbr
author Paul Aurich <paul@darkrain42.org>
date Sat, 22 Nov 2008 18:26:45 +0000
parents 6d6e10476c52
children 1d1d1829de11
comparison
equal deleted inserted replaced
25759:0e8b5b5c497a 25760:f462fa160f06
97 97
98 xmlnode *in_query; 98 xmlnode *in_query;
99 const char *node = NULL; 99 const char *node = NULL;
100 char *node_uri = NULL; 100 char *node_uri = NULL;
101 101
102 // create custom caps node URI 102 /* create custom caps node URI */
103 node_uri = g_strconcat(CAPS0115_NODE, "#", jabber_caps_get_own_hash(js), NULL); 103 node_uri = g_strconcat(CAPS0115_NODE, "#", jabber_caps_get_own_hash(js), NULL);
104 104
105 if((in_query = xmlnode_get_child(packet, "query"))) { 105 if((in_query = xmlnode_get_child(packet, "query"))) {
106 node = xmlnode_get_attrib(in_query, "node"); 106 node = xmlnode_get_attrib(in_query, "node");
107 } 107 }
124 for(identities = jabber_identities; identities; identities = identities->next) { 124 for(identities = jabber_identities; identities; identities = identities->next) {
125 JabberIdentity *ident = (JabberIdentity*)identities->data; 125 JabberIdentity *ident = (JabberIdentity*)identities->data;
126 identity = xmlnode_new_child(query, "identity"); 126 identity = xmlnode_new_child(query, "identity");
127 xmlnode_set_attrib(identity, "category", ident->category); 127 xmlnode_set_attrib(identity, "category", ident->category);
128 xmlnode_set_attrib(identity, "type", ident->type); 128 xmlnode_set_attrib(identity, "type", ident->type);
129 if (ident->name != 0) xmlnode_set_attrib(identity, "name", ident->name); 129 if (ident->lang)
130 xmlnode_set_attrib(identity, "xml:lang", ident->lang);
131 if (ident->name)
132 xmlnode_set_attrib(identity, "name", ident->name);
130 } 133 }
131 for(features = jabber_features; features; features = features->next) { 134 for(features = jabber_features; features; features = features->next) {
132 JabberFeature *feat = (JabberFeature*)features->data; 135 JabberFeature *feat = (JabberFeature*)features->data;
133 if(feat->is_enabled == NULL || feat->is_enabled(js, feat->namespace) == TRUE) { 136 if (!feat->is_enabled || feat->is_enabled(js, feat->namespace)) {
134 feature = xmlnode_new_child(query, "feature"); 137 feature = xmlnode_new_child(query, "feature");
135 xmlnode_set_attrib(feature, "var", feat->namespace); 138 xmlnode_set_attrib(feature, "var", feat->namespace);
136 } 139 }
137 } 140 }
138 } else { 141 } else {