#include "wx/thread.h"
#include "wx/utils.h"
+#if wxUSE_THREADS
+
enum thread_state {
STATE_IDLE = 0,
STATE_RUNNING,
// Static variables
/////////////////////////////////////////////////////////////////////////////
-wxMutex wxMainMutex; // controls access to all GUI functions
+wxMutex *wxMainMutex; // controls access to all GUI functions
/////////////////////////////////////////////////////////////////////////////
// Windows implementation
{
// TODO
m_locked++;
- return MUTEX_NO_ERROR;
+ return wxMUTEX_NO_ERROR;
}
wxMutexError wxMutex::TryLock()
{
// TODO
m_locked++;
- return MUTEX_NO_ERROR;
+ return wxMUTEX_NO_ERROR;
}
wxMutexError wxMutex::Unlock()
m_locked--;
// TODO
- return MUTEX_NO_ERROR;
+ return wxMUTEX_NO_ERROR;
}
class wxConditionInternal {
wxThreadError wxThread::Create()
{
// TODO
- return THREAD_NO_ERROR;
+ return wxTHREAD_NO_ERROR;
}
wxThreadError wxThread::Destroy()
{
// TODO
- return THREAD_NO_ERROR;
+ return wxTHREAD_NO_ERROR;
+}
+
+wxThreadError wxThread::Pause()
+{
+ // TODO
+ return wxTHREAD_NO_ERROR;
+}
+
+wxThreadError wxThread::Resume()
+{
+ // TODO
+ return wxTHREAD_NO_ERROR;
}
void wxThread::Exit(void *status)
return 0;
}
+/*
+wxThread *wxThread::GetThreadFromID(unsigned long id)
+{
+ // TODO
+ return NULL;
+}
+*/
+
+bool wxThread::IsAlive() const
+{
+ // TODO
+ return FALSE;
+}
+
+bool wxThread::IsRunning() const
+{
+ // TODO
+ return FALSE;
+}
+
bool wxThread::IsMain()
{
// TODO
public:
virtual bool OnInit() {
/* TODO p_mainid = GetCurrentThread(); */
- wxMainMutex.Lock();
+ wxMainMutex = new wxMutex();
+ wxMainMutex->Lock();
return TRUE;
}
// Global cleanup
virtual void OnExit() {
- wxMainMutex.Unlock();
+ wxMainMutex->Unlock();
+ delete wxMainMutex;
}
};
IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
+#endif
+ // wxUSE_THREADS