virtual void AfterChildWaitLoop(void *data) = 0;
+#if wxUSE_THREADS
// wxThread helpers
// ----------------
// wait for the handle to be signaled, return WAIT_OBJECT_0 if it is or, in
// the GUI code, WAIT_OBJECT_0 + 1 if a Windows message arrived
virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags) = 0;
+#endif // wxUSE_THREADS
#ifndef __WXWINCE__
#endif // !__WXWINCE__
protected:
+#if wxUSE_THREADS
// implementation of WaitForThread() for the console applications which is
- // also used by the GUI code if it doesn't [yet|already} dispatch events
+ // also used by the GUI code if it doesn't [yet|already] dispatch events
WXDWORD DoSimpleWaitForThread(WXHANDLE hThread);
+#endif // wxUSE_THREADS
};
#endif // _WX_MSW_APPTBASE_H_
virtual void AfterChildWaitLoop(void *data);
#if wxUSE_TIMER
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
-#endif
+#endif // wxUSE_TIMER
+#if wxUSE_THREADS
virtual bool DoMessageFromThreadWait();
virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags);
+#endif // wxUSE_THREADS
#ifndef __WXWINCE__
virtual bool CanUseStderr() { return true; }
virtual bool WriteToStderr(const wxString& text);
virtual void AfterChildWaitLoop(void *data);
#if wxUSE_TIMER
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
-#endif
+#endif // wxUSE_TIMER
+#if wxUSE_THREADS
virtual bool DoMessageFromThreadWait();
- virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags);
+#endif // wxUSE_THREADS
+ virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
#ifndef __WXWINCE__
virtual bool CanUseStderr();
virtual void AfterChildWaitLoop(void *data) = 0;
+#if wxUSE_THREADS
// wxThread helpers
// ----------------
// process a message while waiting for a(nother) thread, should return
// false if and only if we have to exit the application
virtual bool DoMessageFromThreadWait() = 0;
+#endif // wxUSE_THREADS
};
#endif // _WX_PALMOS_APPTBASE_H_
virtual void AfterChildWaitLoop(void *data);
#if wxUSE_TIMER
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) { return new wxPalmOSTimerImpl(timer); }
-#endif
+#endif // wxUSE_TIMER
+#if wxUSE_THREADS
virtual bool DoMessageFromThreadWait();
virtual WXDWORD WaitForThread(WXHANDLE hThread);
+#endif // wxUSE_THREADS
};
#if wxUSE_GUI
#if wxUSE_TIMER
// there is no wxTimer support yet
virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer);
-#endif
+#endif // wxUSE_TIMER
+#if wxUSE_THREADS
virtual bool DoMessageFromThreadWait();
+#endif // wxUSE_THREADS
virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const;
};
delete data;
}
+#if wxUSE_THREADS
bool wxGUIAppTraits::DoMessageFromThreadWait()
{
// we should return false only if the app should exit, i.e. only if
QS_ALLPOSTMESSAGE
);
}
+#endif // wxUSE_THREADS
wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
{
// wxAppTraits implementation
// ============================================================================
+#if wxUSE_THREADS
WXDWORD wxAppTraits::DoSimpleWaitForThread(WXHANDLE hThread)
{
return ::WaitForSingleObject((HANDLE)hThread, INFINITE);
}
+#endif // wxUSE_THREADS
// ============================================================================
// wxConsoleAppTraits implementation
// nothing to do here
}
+#if wxUSE_THREADS
bool wxConsoleAppTraits::DoMessageFromThreadWait()
{
// nothing to process here
return true;
}
+WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread, int WXUNUSED(flags))
+{
+ return DoSimpleWaitForThread(hThread);
+}
+#endif // wxUSE_THREADS
+
#if wxUSE_TIMER
wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
}
-WXDWORD wxConsoleAppTraits::WaitForThread(WXHANDLE hThread, int WXUNUSED(flags))
-{
- return DoSimpleWaitForThread(hThread);
-}
-
bool wxConsoleAppTraits::WriteToStderr(const wxString& text)
{
return wxFprintf(stderr, "%s", text) != -1;
{
}
+#if wxUSE_THREADS
bool wxGUIAppTraits::DoMessageFromThreadWait()
{
return false;
}
+#endif // wxUSE_THREADS
wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
{
{
}
+#if wxUSE_THREADS
bool wxConsoleAppTraits::DoMessageFromThreadWait()
{
return true;
// TODO
return 0;
}
+#endif // wxUSE_THREADS
#if wxUSE_CONSOLE_EVENTLOOP
wxEventLoopBase *