1#ifndef INC_EUREPEATINGTHREAD_H
2#define INC_EUREPEATINGTHREAD_H
53#include "EuToolTypes.h"
56#include <condition_variable>
61 #pragma warning( disable : 4251 )
119 EuTHREAD_ERR_NO_THREAD = -10301,
129 EuTHREAD_ERR_THREAD_ALREADY_WORKING = -10302,
139 EuTHREAD_ERR_THREAD_BREAK_COUNT_LESS_THAN_ZERO = -10303,
149 EuTHREAD_ERR_UNKNOWN = -10400,
429 std::string m_strDebugInfo;
756 #pragma warning( default : 4251 )
Header for CriticalSection
Is a mutex which can be queried via its lock mode. See isLocked().
Definition EuCriticalSection.h:109
Base class for a thread that executes its work endlessly until aborted.
Definition EuRepeatingThread.h:93
RepeatingThread(const RepeatingThread &)
virtual ~RepeatingThread()
EuTHREADERROR
Error range = -10301 to -10400
Definition EuRepeatingThread.h:108
void setStatus(STATUS eStatus)
ORDER m_eOrder
Definition EuRepeatingThread.h:285
std::thread * m_pThread
Definition EuRepeatingThread.h:296
std::condition_variable m_InputCondVar
Definition EuRepeatingThread.h:335
virtual void finishBreak()
std::mutex m_BreakMutex
Definition EuRepeatingThread.h:347
void unsetExclusiveAccess()
int m_iDataReady
Definition EuRepeatingThread.h:413
ORDER
Definition EuRepeatingThread.h:228
@ eUNDEFINED
Definition EuRepeatingThread.h:238
@ eDO_WORK
Definition EuRepeatingThread.h:248
int m_iBreakCounter
Definition EuRepeatingThread.h:378
std::condition_variable m_BreakCondVar
Definition EuRepeatingThread.h:359
STATUS
Definition EuRepeatingThread.h:165
@ eAT_THE_START
Definition EuRepeatingThread.h:175
@ ePAUSING
Definition EuRepeatingThread.h:195
@ eENDING
Definition EuRepeatingThread.h:205
@ eWORKING
Definition EuRepeatingThread.h:185
RepeatingThread::STATUS status() const
CriticalSection m_ExclusiveAccessSection
Definition EuRepeatingThread.h:311
STATUS m_eStatus
Definition EuRepeatingThread.h:274
void toOrder(ORDER eOrder)
bool isInExclusiveAccess() const
void setExclusiveAccess()
virtual void takeABreak()
std::mutex m_WaitMutex
Definition EuRepeatingThread.h:323
Definition EuCriticalSection.h:56