25 lines
794 B
C++
25 lines
794 B
C++
|
/***
|
||
|
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
||
|
|
||
|
File: IBasicSink.hpp
|
||
|
Date: 2021-11-1
|
||
|
Author: Reece
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
namespace Aurora::Logging
|
||
|
{
|
||
|
AUKN_INTERFACE(IBasicSink,
|
||
|
|
||
|
// async callback
|
||
|
AUI_METHOD(void, OnMessageBlocking, (AuUInt8, level, const ConsoleMessage &, msg)),
|
||
|
|
||
|
// sync callback
|
||
|
// returns true if async aware, that is, OnMessageBlocking will be scheduled
|
||
|
AUI_METHOD(bool, OnMessageNonblocking, (AuUInt8, level, const ConsoleMessage &, msg)),
|
||
|
|
||
|
// called every configurable MS or during a problematic event warrenting flush
|
||
|
// expect onflush to be called once after a series of OnMessageNonblocking and every N milliseconds (^1)
|
||
|
AUI_METHOD(void, OnFlush, ())
|
||
|
)
|
||
|
}
|