*/
+#include <glib.h>
#include <iksemel.h>
#include <stdio.h>
#include <stdlib.h>
return IKS_OK;
}
+gboolean
+handler (GIOChannel *channel, GIOCondition cond, gpointer data)
+{
+ iksparser *parser = data;
+ iks_recv (parser, 0);
+ return TRUE;
+}
+
+void
+loop (iksparser *parser)
+{
+ GIOChannel *channel;
+ channel = g_io_channel_unix_new (iks_fd (parser));
+ g_io_add_watch (channel, G_IO_IN, handler, parser);
+ g_main_loop_run (g_main_loop_new (g_main_context_default (), TRUE));
+}
+
int
main (int argc, char **argv)
{
}
parser = iks_stream_new ("jabber:client", &parser, hook);
iks_connect_tcp (parser, server, 5222);
- while (1)
- iks_recv (parser, -1);
+ loop (parser);
return 0;
}