]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/private/fdiodispatcher.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / private / fdiodispatcher.h
index 04128f858bc85c921897238f2105d390005de7c4..0b85505cc04d06f1103e52ca3a814982e5a7c566 100644 (file)
@@ -4,7 +4,6 @@
 // Authors:     Lukasz Michalski
 // Created:     December 2006
 // Copyright:   (c) Lukasz Michalski
 // Authors:     Lukasz Michalski
 // Created:     December 2006
 // Copyright:   (c) Lukasz Michalski
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #define _WX_PRIVATE_FDIODISPATCHER_H_
 
 #include "wx/hashmap.h"
 #define _WX_PRIVATE_FDIODISPATCHER_H_
 
 #include "wx/hashmap.h"
-
-// handler used to process events on descriptors
-class wxFDIOHandler
-{
-public:
-    // called when descriptor is available for non-blocking read
-    virtual void OnReadWaiting() = 0;
-
-    // called when descriptor is available  for non-blocking write
-    virtual void OnWriteWaiting() = 0;
-
-    // called when there is exception on descriptor
-    virtual void OnExceptionWaiting() = 0;
-
-    // virtual dtor for the base class
-    virtual ~wxFDIOHandler() { }
-};
+#include "wx/private/fdiohandler.h"
 
 // those flags describes sets where descriptor should be added
 enum wxFDIODispatcherEntryFlags
 
 // those flags describes sets where descriptor should be added
 enum wxFDIODispatcherEntryFlags
@@ -67,8 +50,13 @@ public:
     // unregister descriptor previously registered with RegisterFD()
     virtual bool UnregisterFD(int fd) = 0;
 
     // unregister descriptor previously registered with RegisterFD()
     virtual bool UnregisterFD(int fd) = 0;
 
-    // wait for an event for at most timeout milliseconds and process it
-    virtual void Dispatch(int timeout = TIMEOUT_INFINITE) = 0;
+    // check if any events are currently available without dispatching them
+    virtual bool HasPending() const = 0;
+
+    // wait for an event for at most timeout milliseconds and process it;
+    // return the number of events processed (possibly 0 if timeout expired) or
+    // -1 if an error occurred
+    virtual int Dispatch(int timeout = TIMEOUT_INFINITE) = 0;
 
     virtual ~wxFDIODispatcher() { }
 };
 
     virtual ~wxFDIODispatcher() { }
 };