diff options
-rw-r--r-- | src/thread.cc | 40 | ||||
-rw-r--r-- | src/thread.h | 10 |
2 files changed, 18 insertions, 32 deletions
diff --git a/src/thread.cc b/src/thread.cc index 8abf3cb..6e216e9 100644 --- a/src/thread.cc +++ b/src/thread.cc @@ -29,18 +29,6 @@ #include <stdio.h> #include <hugin.hpp> -#ifdef WIN32 -static DWORD WINAPI thread_run(void *data) -#else -static void* thread_run(void *data) -#endif/*WIN32*/ -{ - DEBUG(thread, "Thread run\n"); - Thread *t = (Thread*)data; - t->thread_main(); - return 0; -} - Thread::Thread() {} @@ -66,19 +54,15 @@ void Thread::wait_stop() #endif/*WIN32*/ } -#ifdef TEST_THREAD -//Additional dependency files -//deps: -//Required cflags (autoconf vars may be used) -//cflags: -//Required link options (autoconf vars may be used) -//libs: -#include "test.h" - -TEST_BEGIN; - -// TODO: Put some testcode here (see test.h for usable macros). - -TEST_END; - -#endif/*TEST_THREAD*/ +#ifdef WIN32 +DWORD WINAPI +#else +void* +#endif/*WIN32*/ +Thread::thread_run(void *data) +{ + DEBUG(thread, "Thread run\n"); + Thread *t = (Thread*)data; + t->thread_main(); + return 0; +} diff --git a/src/thread.h b/src/thread.h index 837222a..f2c1dd0 100644 --- a/src/thread.h +++ b/src/thread.h @@ -24,10 +24,10 @@ * along with DrumGizmo; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef __DRUMGIZMO_THREAD_H__ -#define __DRUMGIZMO_THREAD_H__ +#pragma once #ifdef WIN32 +#define WIN32_LEAN_AND_MEAN #include <windows.h> #else #include <pthread.h> @@ -41,14 +41,16 @@ public: void run(); void wait_stop(); +protected: virtual void thread_main() = 0; private: #ifdef WIN32 HANDLE tid; + static DWORD WINAPI #else pthread_t tid; + static void* #endif/*WIN32*/ + thread_run(void *data); }; - -#endif/*__DRUMGIZMO_THREAD_H__*/ |