+WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread, int WXUNUSED(flags))
+{
+ return DoSimpleWaitForThread(hThread);
+}
+#endif // wxUSE_THREADS
+
+#if wxUSE_TIMER
+
+wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+ return new wxMSWTimerImpl(timer);
+}
+
+#endif // wxUSE_TIMER
+
+wxEventLoopBase *wxConsoleAppTraits::CreateEventLoop()
+{
+#if wxUSE_CONSOLE_EVENTLOOP
+ return new wxEventLoop();
+#else // !wxUSE_CONSOLE_EVENTLOOP
+ return NULL;
+#endif // wxUSE_CONSOLE_EVENTLOOP/!wxUSE_CONSOLE_EVENTLOOP
+}
+
+
+bool wxConsoleAppTraits::WriteToStderr(const wxString& text)
+{
+ return wxFprintf(stderr, "%s", text) != -1;
+}