Moved more functions to stanza module
This commit is contained in:
@@ -9,26 +9,14 @@
|
|||||||
|
|
||||||
static int depth = 0;
|
static int depth = 0;
|
||||||
static int do_reset = 0;
|
static int do_reset = 0;
|
||||||
|
|
||||||
static XML_Parser parser;
|
static XML_Parser parser;
|
||||||
|
static XMPPClient *xmppclient;
|
||||||
|
static XMPPStanza *curr_stanza;
|
||||||
|
|
||||||
static stream_start_func stream_start_cb = NULL;
|
static stream_start_func stream_start_cb = NULL;
|
||||||
static stream_end_func stream_end_cb = NULL;
|
static stream_end_func stream_end_cb = NULL;
|
||||||
static auth_func auth_cb = NULL;
|
static auth_func auth_cb = NULL;
|
||||||
static XMPPClient *xmppclient;
|
|
||||||
|
|
||||||
static XMPPStanza *curr_stanza;
|
|
||||||
static GList *stanzas;
|
|
||||||
|
|
||||||
void
|
|
||||||
parser_show_stanzas(void)
|
|
||||||
{
|
|
||||||
GList *curr = stanzas;
|
|
||||||
while (curr) {
|
|
||||||
XMPPStanza *stanza = curr->data;
|
|
||||||
show_stanza(stanza);
|
|
||||||
printf("\n");
|
|
||||||
curr = g_list_next(curr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
start_element(void *data, const char *element, const char **attribute)
|
start_element(void *data, const char *element, const char **attribute)
|
||||||
@@ -76,7 +64,7 @@ end_element(void *data, const char *element)
|
|||||||
curr_stanza->parent->children = g_list_append(curr_stanza->parent->children, curr_stanza);
|
curr_stanza->parent->children = g_list_append(curr_stanza->parent->children, curr_stanza);
|
||||||
curr_stanza = curr_stanza->parent;
|
curr_stanza = curr_stanza->parent;
|
||||||
} else {
|
} else {
|
||||||
stanzas = g_list_append(stanzas, curr_stanza);
|
stanza_add(curr_stanza);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (depth == 0) {
|
if (depth == 0) {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "server/xmppclient.h"
|
#include "server/xmppclient.h"
|
||||||
#include "server/parser.h"
|
#include "server/parser.h"
|
||||||
|
#include "server/stanza.h"
|
||||||
|
|
||||||
#define XML_START "<?xml version=\"1.0\"?>"
|
#define XML_START "<?xml version=\"1.0\"?>"
|
||||||
|
|
||||||
@@ -221,7 +222,7 @@ int main(int argc , char *argv[])
|
|||||||
printf("RECV: ");
|
printf("RECV: ");
|
||||||
listen_to(client);
|
listen_to(client);
|
||||||
|
|
||||||
parser_show_stanzas();
|
stanza_show_all();
|
||||||
|
|
||||||
//
|
//
|
||||||
// res = listen_for(client, STREAM_REQ);
|
// res = listen_for(client, STREAM_REQ);
|
||||||
|
|||||||
@@ -3,8 +3,10 @@
|
|||||||
|
|
||||||
#include "server/stanza.h"
|
#include "server/stanza.h"
|
||||||
|
|
||||||
|
static GList *stanzas;
|
||||||
|
|
||||||
void
|
void
|
||||||
show_stanza(XMPPStanza *stanza)
|
stanza_show(XMPPStanza *stanza)
|
||||||
{
|
{
|
||||||
printf("NAME : %s\n", stanza->name);
|
printf("NAME : %s\n", stanza->name);
|
||||||
|
|
||||||
@@ -27,8 +29,26 @@ show_stanza(XMPPStanza *stanza)
|
|||||||
GList *curr_child = stanza->children;
|
GList *curr_child = stanza->children;
|
||||||
while (curr_child) {
|
while (curr_child) {
|
||||||
XMPPStanza *child = curr_child->data;
|
XMPPStanza *child = curr_child->data;
|
||||||
show_stanza(child);
|
stanza_show(child);
|
||||||
curr_child = g_list_next(curr_child);
|
curr_child = g_list_next(curr_child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
stanza_show_all(void)
|
||||||
|
{
|
||||||
|
GList *curr = stanzas;
|
||||||
|
while (curr) {
|
||||||
|
XMPPStanza *stanza = curr->data;
|
||||||
|
stanza_show(stanza);
|
||||||
|
printf("\n");
|
||||||
|
curr = g_list_next(curr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
stanza_add(XMPPStanza *stanza)
|
||||||
|
{
|
||||||
|
stanzas = g_list_append(stanzas, stanza);
|
||||||
|
}
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ typedef struct xmpp_stanza_t {
|
|||||||
struct xmpp_stanza_t *parent;
|
struct xmpp_stanza_t *parent;
|
||||||
} XMPPStanza;
|
} XMPPStanza;
|
||||||
|
|
||||||
void
|
void stanza_show(XMPPStanza *stanza);
|
||||||
show_stanza(XMPPStanza *stanza);
|
void stanza_show_all(void);
|
||||||
|
void stanza_add(XMPPStanza *stanza);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user