--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/osx/cocoa/evtloop.h
+// Purpose:     declaration of wxGUIEventLoop for wxOSX/Cocoa
+// Author:      Vadim Zeitlin
+// Created:     2008-12-28
+// RCS-ID:      $Id$
+// Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_OSX_COCOA_EVTLOOP_H_
+#define _WX_OSX_COCOA_EVTLOOP_H_
+
+class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
+{
+public:
+    wxGUIEventLoop();
+
+    // implement/override base class pure virtual
+    virtual bool Pending() const;
+    virtual bool Dispatch();
+    virtual int DispatchTimeout(unsigned long timeout);
+
+    virtual void WakeUp();
+
+private:
+    double m_sleepTime;
+};
+
+#endif // _WX_OSX_COCOA_EVTLOOP_H_
+
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __WXMAC_CLASSIC__
-    #error "wxEventLoop is not implemented for Classic build."
+#ifdef __WXOSX_COCOA__
+    #include "wx/osx/cocoa/evtloop.h"
 #else
     #include "wx/osx/carbon/evtloop.h"
 #endif
 
 
     return true;
 }
+
+int wxGUIEventLoop::DispatchTimeout(unsigned long timeout)
+{
+    wxMacAutoreleasePool autoreleasepool;
+
+    NSEvent *event = [NSApp
+                nextEventMatchingMask:NSAnyEventMask
+                untilDate:[NSDate dateWithTimeIntervalSinceNow: timeout/1000]
+                inMode:NSDefaultRunLoopMode
+                dequeue: YES];
+    if ( !event )
+        return -1;
+
+    [NSApp sendEvent: event];
+
+    return true;
+}