]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/socketengines/socketengine_kqueue.h
Fix compile errors on BSD
[user/henk/code/inspircd.git] / include / socketengines / socketengine_kqueue.h
index 49b51590a2018f50ffa99c0218125044994a207c..468d6cea9b46b6dde79aa6d070a2919dbb8120ca 100644 (file)
@@ -2,8 +2,8 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
 #include <string>
 #include <map>
 #include "inspircd_config.h"
-#include "globals.h"
 #include "inspircd.h"
 #include <sys/types.h>
 #include <sys/event.h>
 #include <sys/time.h>
 #include "socketengine.h"
 
-class InspIRCd;
-
 /** A specialisation of the SocketEngine class, designed to use FreeBSD kqueue().
  */
 class KQueueEngine : public SocketEngine
 {
 private:
+       int EngineHandle;
        /** These are used by kqueue() to hold socket events
         */
        struct kevent* ke_list;
@@ -40,15 +38,13 @@ private:
        struct timespec ts;
 public:
        /** Create a new KQueueEngine
-        * @param Instance The creator of this object
         */
-       KQueueEngine(InspIRCd* Instance);
+       KQueueEngine();
        /** Delete a KQueueEngine
         */
        virtual ~KQueueEngine();
-       virtual bool AddFd(EventHandler* eh);
-       virtual int GetMaxFds();
-       virtual int GetRemainingFds();
+       bool AddFd(EventHandler* eh, int event_mask);
+       void OnSetEvent(EventHandler* eh, int old_mask, int new_mask);
        virtual bool DelFd(EventHandler* eh, bool force = false);
        virtual int DispatchEvents();
        virtual std::string GetName();
@@ -63,7 +59,7 @@ class SocketEngineFactory
  public:
        /** Create a new instance of SocketEngine based on KQueueEngine
         */
-       SocketEngine* Create(InspIRCd* Instance) { return new KQueueEngine(Instance); }
+       SocketEngine* Create() { return new KQueueEngine; }
 };
 
 #endif