9
9
static gboolean initialized = FALSE;
11
11
static GDebugKey keys[] = {
12
{ "transport", DEBUG_TRANSPORT },
14
{ "xmpp", DEBUG_XMPP },
15
{ "xmpp-reader", DEBUG_XMPP_READER },
16
{ "xmpp-writer", DEBUG_XMPP_WRITER },
17
{ "sasl", DEBUG_SASL },
12
{ "transport", DEBUG_TRANSPORT },
14
{ "xmpp", DEBUG_XMPP },
15
{ "xmpp-reader", DEBUG_XMPP_READER },
16
{ "xmpp-writer", DEBUG_XMPP_WRITER },
17
{ "sasl", DEBUG_SASL },
19
{ "rmulticast", DEBUG_RMULTICAST },
20
{ "rmulticast-sender", DEBUG_RMULTICAST_SENDER },
21
{ "muc-connection", DEBUG_MUC_CONNECTION },
74
attribute_to_string (const gchar *key,
79
PrintStanzaData *data = user_data;
81
g_string_append_c (data->string, ' ');
84
g_string_append (data->string, ns);
85
g_string_append_c (data->string, ':');
87
g_string_append_printf (data->string, "%s='%s'", key, value);
93
node_to_string (GibberXmppNode *node,
96
PrintStanzaData *data = user_data;
100
g_string_append_printf (data->string, "%s<%s", data->indent, node->name);
101
ns = gibber_xmpp_node_get_ns (node);
103
g_string_append_printf (data->string, " xmlns='%s'", ns);
104
gibber_xmpp_node_each_attribute (node, attribute_to_string, data);
105
g_string_append_printf (data->string, ">\n");
107
old_indent = data->indent;
108
data->indent = g_strconcat (data->indent, " ", NULL);
109
if (node->content != NULL)
110
g_string_append_printf (data->string, "%s%s\n", data->indent,
112
gibber_xmpp_node_each_child (node, node_to_string, data);
113
g_free (data->indent);
114
data->indent = old_indent;
116
g_string_append_printf (data->string, "%s</%s>", data->indent, node->name);
117
if (data->indent[0] != '\0')
118
g_string_append_c (data->string, '\n');
124
gibber_debug_stanza (DebugFlags flag,
125
GibberXmppStanza *stanza,
131
PrintStanzaData *data;
135
data = g_new0 (PrintStanzaData, 1);
136
data->string = g_string_new ("");
139
va_start (args, format);
140
tmp = g_strdup_vprintf (format, args);
141
g_string_append (data->string, tmp);
143
g_string_append_c (data->string, '\n');
144
node_to_string (stanza->node, data);
146
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%s", data->string->str);
149
g_string_free (data->string, TRUE);