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::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)),
|
||
|
|
||
|
/**
|
||
|
* @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))
|
||
|
);
|
||
|
}
|