28 lines
452 B
C++
28 lines
452 B
C++
#pragma once
|
|
#include <SiaCurl.h>
|
|
#include <mutex>
|
|
|
|
NS_BEGIN(Sia)
|
|
NS_BEGIN(Api)
|
|
|
|
class AFX_EXT_CLASS CAutoThread
|
|
{
|
|
public:
|
|
CAutoThread(const CSiaCurl& siaCurl);
|
|
|
|
public:
|
|
virtual ~CAutoThread();
|
|
|
|
private:
|
|
CSiaCurl _siaCurl;
|
|
HANDLE _stopEvent;
|
|
std::unique_ptr<std::thread> _thread;
|
|
std::mutex _startStopMutex;
|
|
|
|
protected:
|
|
void StartAutoThread();
|
|
void StopAutoThread();
|
|
virtual void AutoThreadCallback(const CSiaCurl& siaCurl) = 0;
|
|
};
|
|
|
|
NS_END(2) |