/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IOProcessorItem.hpp Date: 2022-6-6 Author: Reece ***/ #pragma once namespace Aurora::IO { struct IOProcessor; struct IOProcessorItem : AuLoop::ILoopSourceSubscriber, IIOProcessorItem, AuEnableSharedFromThis { IOProcessor *parent; AuSPtr item; AuSPtr listener; // ILoopSourceSubscriber bool OnFinished(const AuSPtr &source) override; // IIOProcessorItem virtual bool StopWatch() override; virtual bool FailWatch() override; // IIOProcessorItem::... void InvokeManualTick() override; // void IOAlert(bool force); }; }