mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-05-11 08:05:42 -04:00
30 lines
516 B
C++
30 lines
516 B
C++
#ifndef ZM_ANALYSIS_THREAD_H
|
|
#define ZM_ANALYSIS_THREAD_H
|
|
|
|
#include <atomic>
|
|
#include <memory>
|
|
#include <thread>
|
|
|
|
class Monitor;
|
|
|
|
class AnalysisThread {
|
|
public:
|
|
explicit AnalysisThread(Monitor *monitor);
|
|
~AnalysisThread();
|
|
AnalysisThread(AnalysisThread &rhs) = delete;
|
|
AnalysisThread(AnalysisThread &&rhs) = delete;
|
|
|
|
void Start();
|
|
void Stop();
|
|
bool Stopped() const { return terminate_; }
|
|
|
|
private:
|
|
void Run();
|
|
|
|
Monitor *monitor_;
|
|
std::atomic<bool> terminate_;
|
|
std::thread thread_;
|
|
};
|
|
|
|
#endif
|