// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones // This file is part of the "cAudio Engine" // For conditions of distribution and use, see copyright notice in cAudio.h #pragma once #include "../include/cAudioDefines.h" #include "../Include/IThread.h" #include "../Headers/cMutex.h" #ifdef CAUDIO_PLATFORM_WIN #include //Basic windows includes #include #else #include //Assumed linux system #endif namespace cAudio { class cAudioThread : public IThread { public: cAudioThread(IThreadWorker* pWorker); ~cAudioThread(); virtual bool start(); virtual void join(); virtual void shutdown(); virtual bool isRunning(); protected: void updateLoop(); #ifdef CAUDIO_PLATFORM_WIN static unsigned int __stdcall threadFunc(void *args); HANDLE ThreadHandle; #else static void* threadFunc(void* args); pthread_t ThreadHandle; #endif IThreadWorker* Worker; unsigned int ThreadID; cAudioMutex Mutex; bool IsInit; bool Loop; }; };