#include "asyncworker.h" using namespace vnotex; AsyncWorker::AsyncWorker(QObject *p_parent) : QThread(p_parent) { } void AsyncWorker::stop() { m_askedToStop.store(1); } bool AsyncWorker::isAskedToStop() const { return m_askedToStop.load() == 1; } AsyncWorkerWithFunctor::AsyncWorkerWithFunctor(QObject *p_parent) : QThread(p_parent) { } void AsyncWorkerWithFunctor::doWork(const Functor &p_functor) { Q_ASSERT(!isRunning()); m_functor = p_functor; start(); } void AsyncWorkerWithFunctor::run() { Q_ASSERT(m_functor); m_functor(); }