From 02cdeb3fbf84ac31949032ec23169d3cb048a16d Mon Sep 17 00:00:00 2001 From: pk910 Date: Sun, 12 Aug 2012 03:20:28 +0200 Subject: [PATCH] [IOMultiplexer] changed example main.c to be a very very basic irc client --- src/main.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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); } -- 2.20.1