Moved stanza_get_query_request
This commit is contained in:
@@ -213,6 +213,51 @@ stanza_set_id(XMPPStanza *stanza, const char *id)
|
||||
stanza->attrs = g_list_append(stanza->attrs, attrnew);
|
||||
}
|
||||
|
||||
const char *
|
||||
stanza_get_attr(XMPPStanza *stanza, const char *name)
|
||||
{
|
||||
if (!stanza->attrs) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GList *curr_attr = stanza->attrs;
|
||||
while (curr_attr) {
|
||||
XMPPAttr *attr = curr_attr->data;
|
||||
if (g_strcmp0(attr->name, name) == 0) {
|
||||
return attr->value;
|
||||
}
|
||||
|
||||
curr_attr = g_list_next(curr_attr);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
stanza_get_query_request(XMPPStanza *stanza)
|
||||
{
|
||||
if (g_strcmp0(stanza->name, "iq") != 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *type = stanza_get_attr(stanza, "type");
|
||||
if (g_strcmp0(type, "get") != 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
XMPPStanza *query = stanza_get_child_by_name(stanza, "query");
|
||||
if (!query) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *xmlns = stanza_get_attr(query, "xmlns");
|
||||
if (!xmlns) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return xmlns;
|
||||
}
|
||||
|
||||
static void
|
||||
start_element(void *data, const char *element, const char **attributes)
|
||||
{
|
||||
|
||||
@@ -46,5 +46,7 @@ XMPPStanza* stanza_get_child_by_ns(XMPPStanza *stanza, char *ns);
|
||||
XMPPStanza* stanza_get_child_by_name(XMPPStanza *stanza, char *name);
|
||||
const char* stanza_get_id(XMPPStanza *stanza);
|
||||
void stanza_set_id(XMPPStanza *stanza, const char *id);
|
||||
const char* stanza_get_attr(XMPPStanza *stanza, const char *name);
|
||||
const char *stanza_get_query_request(XMPPStanza *stanza);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -62,51 +62,6 @@ stanza_add(XMPPStanza *stanza)
|
||||
pthread_mutex_unlock(&stanzas_lock);
|
||||
}
|
||||
|
||||
const char *
|
||||
stanza_get_attr(XMPPStanza *stanza, const char *name)
|
||||
{
|
||||
if (!stanza->attrs) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GList *curr_attr = stanza->attrs;
|
||||
while (curr_attr) {
|
||||
XMPPAttr *attr = curr_attr->data;
|
||||
if (g_strcmp0(attr->name, name) == 0) {
|
||||
return attr->value;
|
||||
}
|
||||
|
||||
curr_attr = g_list_next(curr_attr);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *
|
||||
stanza_get_query_request(XMPPStanza *stanza)
|
||||
{
|
||||
if (g_strcmp0(stanza->name, "iq") != 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *type = stanza_get_attr(stanza, "type");
|
||||
if (g_strcmp0(type, "get") != 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
XMPPStanza *query = stanza_get_child_by_name(stanza, "query");
|
||||
if (!query) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *xmlns = stanza_get_attr(query, "xmlns");
|
||||
if (!xmlns) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return xmlns;
|
||||
}
|
||||
|
||||
static int
|
||||
_xmpp_attr_equal(XMPPAttr *attr1, XMPPAttr *attr2)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "server/stanza.h"
|
||||
|
||||
void stanza_add(XMPPStanza *stanza);
|
||||
const char *stanza_get_query_request(XMPPStanza *stanza);
|
||||
|
||||
int stanza_verify_any(XMPPStanza *stanza);
|
||||
int stanza_verify_last(XMPPStanza *stanza);
|
||||
|
||||
Reference in New Issue
Block a user