]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/socket.h
Fix ISON with multiple lines of ISON response, canonize the responses to weed out...
[user/henk/code/inspircd.git] / include / socket.h
index 8fd2df0df62832884e8c27ed1935e783773be90e..b8f6387d329c6f691ce7d35f4de32d49e193f93b 100644 (file)
@@ -2,12 +2,9 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *                       E-mail:
- *                <brain@chatspike.net>
- *               <Craig@chatspike.net>
- *     
- * Written by Craig Edwards, Craig McLure, and others.
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
  *
 #include <netinet/in.h>
 #include <unistd.h>
 #include <fcntl.h>
-#include <poll.h>
 #include <netdb.h>
 #include <errno.h>
 #include "inspircd_config.h"
+#include "socketengine.h"
 
 namespace irc
 {
@@ -138,4 +135,26 @@ namespace irc
        };
 };
 
+/** This class handles incoming connections on client ports.
+ * It will create a new userrec for every valid connection
+ * and assign it a file descriptor.
+ */
+class ListenSocket : public EventHandler
+{
+ protected:
+       /** The creator/owner of this object
+        */
+       InspIRCd* ServerInstance;
+ public:
+       /** Create a new listening socket
+        */
+       ListenSocket(InspIRCd* Instance, int sockfd, irc::sockets::insp_sockaddr client, irc::sockets::insp_sockaddr server, int port, char* addr);
+       /** Handle an I/O event
+        */
+       void HandleEvent(EventType et, int errornum = 0);
+       /** Close the socket
+        */
+       ~ListenSocket();
+};
+
 #endif