From: pk910 Date: Sun, 12 Aug 2012 01:20:28 +0000 (+0200) Subject: [IOMultiplexer] changed example main.c to be a very very basic irc client X-Git-Url: http://git.pk910.de/?p=NextIRCd.git;a=commitdiff_plain;h=02cdeb3fbf84ac31949032ec23169d3cb048a16d [IOMultiplexer] changed example main.c to be a very very basic irc client --- diff --git a/src/main.c b/src/main.c index b8e0d6c..b2c8ca4 100644 --- a/src/main.c +++ b/src/main.c @@ -21,10 +21,12 @@ static IOHANDLER_CALLBACK(io_callback); static IOHANDLER_LOG_BACKEND(io_log); +static struct IODescriptor *irc_iofd = NULL; + int main(int argc, char *argv[]) { iolog_backend = io_log; - iohandler_connect("pk910.de", 6667, 0, NULL, io_callback); + irc_iofd = iohandler_connect("pk910.de", 6667, 0, NULL, io_callback); struct IODescriptor *iofd; iofd = iohandler_add(0, IOTYPE_STDIN, NULL, io_callback); @@ -40,14 +42,22 @@ static IOHANDLER_CALLBACK(io_callback) { case IOEVENT_CONNECTED: printf("[connect]\n"); break; + case IOEVENT_CLOSED: + printf("[disconnect]\n"); + break; case IOEVENT_RECV: - printf("[in] %s\n", event->data.recv_str); + if(event->iofd->type == IOTYPE_STDIN) { + iohandler_printf(irc_iofd, "%s\n", event->data.recv_str); + printf("[out] %s\n", event->data.recv_str); + } else + printf("[in] %s\n", event->data.recv_str); break; + default: break; } } static IOHANDLER_LOG_BACKEND(io_log) { - printf("%s\n", line); + //printf("%s", line); }