X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=tictactoe.c;h=e9296633522e7f709afaab145ab89c15a5ed525b;hb=baef3c66194214f38ab263a46722b6bd8b2fa156;hp=5c7e5990bf090bdf61be7bce9cea5857f2bd764c;hpb=2ba16182c4d0f9e08cc1427587701de04090df08;p=cascardo%2Fchat.git diff --git a/tictactoe.c b/tictactoe.c index 5c7e599..e929663 100644 --- a/tictactoe.c +++ b/tictactoe.c @@ -25,45 +25,34 @@ #include #include "tcp_connect.h" #include "iksemel_extra.h" +#include "xmpp.h" +#include "disco.h" -int -myhook (void *data, int type, iks *stanza) -{ - char *s = iks_string (iks_stack (stanza), stanza); - write (1, s, strlen (s)); - return IKS_OK; -} - -void -write_stream (int fd, char *server) -{ - char *buffer = NULL; - asprintf (&buffer, "", server); - write (fd, buffer, strlen (buffer)); - free (buffer); -} - -void -loop (iksparser *parser, int fd) +static void +loop (hc_xmpp_t *xmpp) { - char buffer[4096]; - int r; - while ((r = read (fd, buffer, sizeof (buffer))) > 0) - iks_parse (parser, buffer, r, 0); + while (1) + hc_xmpp_read_and_parse (xmpp); } int main (int argc, char **argv) { - char *server = "jabber-br.org"; - int fd; - iksparser *parser; + char *server; + char *user; + char *password; + hc_xmpp_t *xmpp; + if (argc < 4) + { + printf ("tictactoe server user password\n"); + return 1; + } + server = argv[1]; + user = argv[2]; + password = argv[3]; dns_init (NULL, 1); - fd = hc_tcp_connect (server, "xmpp-client"); - parser = iks_extra_stream_new (NULL, myhook); - write_stream (fd, server); - loop (parser, fd); + xmpp = hc_xmpp_new (hc_xmpp_hook, server, user, password); + hc_xmpp_send_stream (xmpp); + loop (xmpp); return 0; }