AuroraRuntime/Include/Aurora/IO/Loop/ILoopSourceSubscriber.hpp

36 lines
1.0 KiB
C++

/***
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::IO::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<ILoopSource> &, 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<ILoopSource> &, source, AuUInt8, position)),
/**
* @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<ILoopSource> &, source))
);
}