#pragma once #include #include 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 _thread; std::mutex _startStopMutex; protected: void StartAutoThread(); void StopAutoThread(); virtual void AutoThreadCallback(const CSiaCurl& siaCurl) = 0; }; NS_END(2)