+ DECLARE_NO_COPY_CLASS(wxEventLoopBase)
+};
+
+// we're moving away from old m_impl wxEventLoop model as otherwise the user
+// code doesn't have access to platform-specific wxEventLoop methods and this
+// can sometimes be very useful (e.g. under MSW this is necessary for
+// integration with MFC) but currently this is done for MSW only, other ports
+// should follow a.s.a.p.
+#if defined(__WXPALMOS__)
+ #include "wx/palmos/evtloop.h"
+#elif defined(__WXMSW__)
+ #include "wx/msw/evtloop.h"
+#else
+
+class WXDLLEXPORT wxEventLoopImpl;
+
+class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
+{
+public:
+ wxEventLoop() { m_impl = NULL; }
+ virtual ~wxEventLoop();
+
+ virtual int Run();
+ virtual void Exit(int rc = 0);
+ virtual bool Pending() const;
+ virtual bool Dispatch();
+ virtual bool IsRunning() const { return GetActive() == this; }
+
+protected:
+ // the pointer to the port specific implementation class
+ wxEventLoopImpl *m_impl;
+