36 lines
1.0 KiB
C++
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))
|
|
);
|
|
} |