diff options
author | Viktor Mladenovski <viktor.mladenovski@stericsson.com> | 2011-05-20 14:10:59 +0200 |
---|---|---|
committer | Viktor Mladenovski <viktor.mladenovski@stericsson.com> | 2011-05-20 14:10:59 +0200 |
commit | f7e95217e936da34d7124aaced590692eb515923 (patch) | |
tree | 2d9ef4750a67d9d1dd3fe9180a4fef2929fad54b /source/api_wrappers/linux/CThreadWrapper.h |
Initial contribution of loader_communication
ST-Ericsson ID: 326913
ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204
Change-Id: I171cfc2ee458a8a0a91a1916137d131f0f7ecee5
Diffstat (limited to 'source/api_wrappers/linux/CThreadWrapper.h')
-rw-r--r-- | source/api_wrappers/linux/CThreadWrapper.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/source/api_wrappers/linux/CThreadWrapper.h b/source/api_wrappers/linux/CThreadWrapper.h new file mode 100644 index 0000000..aabadcc --- /dev/null +++ b/source/api_wrappers/linux/CThreadWrapper.h @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (C) ST-Ericsson SA 2011 + * License terms: 3-clause BSD license + ******************************************************************************/ + +#ifndef _CTHREADWRAPPER_H +#define _CTHREADWRAPPER_H + +#include "CWaitableObject.h" +#include "CEventObject.h" +#include <pthread.h> + +typedef void*(*StartAddress_t)(void *); + +class CThreadWrapper : public CWaitableObject +{ +public: + CThreadWrapper(void*(* pStartAddress)(void *), void *pArgument); + ~CThreadWrapper(); + void ResumeThread(); + void SuspendThread(); + void WaitToDie(DWORD dwMilliseconds = 1000); + DWORD GetThreadId(); + DWORD Wait(DWORD dwMilliseconds = INFINITE); +private: + pthread_t m_tid; + StartAddress_t m_pStartAddress; + void *m_pArgument; + CEventObject m_ThreadEndedEvt; + +protected: + static void *ThreadFunc(void *Arg); +}; + +#endif /* _CTHREADWRAPPER_H */ + |