/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: ILoopSourceSubscriber.hpp Date: 2022-2-12 Author: Reece ***/ #pragma once namespace Aurora::Loop { AUKN_INTERFACE(ILoopSourceSubscriber, /** * @brief called under Wait[All/Any[Ex]] once an object is signaled * @return should pop from ILoopQueue */ AUI_METHOD(bool, OnFinished, (const AuSPtr &, source)) ); AUKN_INTERFACE(ILoopSourceSubscriberEx, /** * @brief called under Wait[All/Any[Ex]] once an object is signaled * @return should pop from ILoopQueue */ AUI_METHOD(bool, OnFinished, (const AuSPtr &, source)), /** * @brief called under Wait[All/Any[Ex]] once an object timesout before being evicted * @param * @param AUI_METHOD * @param AUI_METHOD */ AUI_METHOD(void, OnTimeout, (const AuSPtr &, source)) ); }