1#ifndef INC_EUREPEATINGTHREAD_H
2#define INC_EUREPEATINGTHREAD_H
41#include <condition_variable>
46 #pragma warning( disable : 4251 )
104 EuTHREAD_ERR_NO_THREAD = -10301,
114 EuTHREAD_ERR_THREAD_ALREADY_WORKING = -10302,
124 EuTHREAD_ERR_THREAD_BREAK_COUNT_LESS_THAN_ZERO = -10303,
134 EuTHREAD_ERR_UNKNOWN = -10400,
741 #pragma warning( default : 4251 )
Header für CriticalSection
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuCriticalSection.h:94
Basisklasse für einen Thread der seine Arbeit endlos bis zum Abbruch ausführt.
Definition EuRepeatingThread.h:78
RepeatingThread(const RepeatingThread &)
virtual ~RepeatingThread()
std::string m_strDebugInfo
Definition EuRepeatingThread.h:414
EuTHREADERROR
Fehlerbereich = -10301 bis -10400
Definition EuRepeatingThread.h:93
void setStatus(STATUS eStatus)
ORDER m_eOrder
Definition EuRepeatingThread.h:270
std::thread * m_pThread
Definition EuRepeatingThread.h:281
std::condition_variable m_InputCondVar
Definition EuRepeatingThread.h:320
virtual void finishBreak()
std::mutex m_BreakMutex
Definition EuRepeatingThread.h:332
void unsetExclusiveAccess()
int m_iDataReady
Definition EuRepeatingThread.h:398
ORDER
Definition EuRepeatingThread.h:213
@ eUNDEFINED
Definition EuRepeatingThread.h:223
@ eDO_WORK
Definition EuRepeatingThread.h:233
int m_iBreakCounter
Definition EuRepeatingThread.h:363
std::condition_variable m_BreakCondVar
Definition EuRepeatingThread.h:344
STATUS
Definition EuRepeatingThread.h:150
@ eAT_THE_START
Definition EuRepeatingThread.h:160
@ ePAUSING
Definition EuRepeatingThread.h:180
@ eENDING
Definition EuRepeatingThread.h:190
@ eWORKING
Definition EuRepeatingThread.h:170
RepeatingThread::STATUS status() const
CriticalSection m_ExclusiveAccessSection
Definition EuRepeatingThread.h:296
STATUS m_eStatus
Definition EuRepeatingThread.h:259
void toOrder(ORDER eOrder)
bool isInExclusiveAccess() const
void setExclusiveAccess()
virtual void takeABreak()
std::mutex m_WaitMutex
Definition EuRepeatingThread.h:308