/*** Copyright (C) 2021-2023 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuAsyncFuncRunnable.hpp Date: 2023-12-06 Date: 2021-11-2 Author: Reece ***/ #pragma once namespace Aurora::Async { struct AsyncFuncRunnable : IAsyncRunnable { AuFunction callback; AuFunction fail; AuCriticalSection lock; AsyncFuncRunnable(AuFunction &&callback); AsyncFuncRunnable(AuFunction &&callback, AuFunction &&fail); AsyncFuncRunnable(const AuFunction &callback); AsyncFuncRunnable(const AuFunction &callback, const AuFunction &fail); void RunAsync() override; void CancelAsync() override; }; }