+protected:
+ // get the next message from queue and return true or return false if we
+ // got WM_QUIT or an error occurred
+ bool GetNextMessage(WXMSG *msg);
+
+ // same as above but with a timeout and return value can be -1 meaning that
+ // time out expired in addition to
+ int GetNextMessageTimeout(WXMSG *msg, unsigned long timeout);
+};
+
+#if wxUSE_GUI
+
+WX_DECLARE_EXPORTED_OBJARRAY(MSG, wxMSGArray);
+
+class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase
+{
+public:
+ wxGUIEventLoop() { }
+
+ // process a single message: calls PreProcessMessage() before dispatching
+ // it
+ virtual void ProcessMessage(WXMSG *msg);