#include "stdafx.h" #include "Job.h" namespace Jobs { Job::Job() : Job(nullptr, nullptr, true) { } Job::Job(std::function Task, std::function OnFinished, bool IsAwaiter) : _Task(std::move(Task)), _Finished(std::move(OnFinished)), _IsFinished(false), _IsAwaiter(IsAwaiter) { } void Job::Execute() { if (_Task != nullptr) _Task(); if (_Finished != nullptr) _Finished(); this->_IsFinished = true; } void Job::SetIsFinished() { this->_IsFinished = true; } bool Job::IsFinished() { return (this->_IsFinished == true); } bool Job::IsAwaiter() { return (this->_IsAwaiter == true); } }