AuroraRuntime/Include/Aurora/Logging/IBasicSinkRB.hpp

27 lines
741 B
C++

/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: IBasicSinkRB.hpp
Date: 2021-11-2
Author: Reece
***/
#pragma once
namespace Aurora::Logging
{
struct IBasicSinkRB : IBasicSink
{
/**
* @brief Writes the log buffer to a file as though it were an FIO sink
*/
virtual void SaveToPath(const AuString &path, bool binary = false) = 0;
/**
* @brief Dumps the ring buffer to an ordered list
* This method does not clear the ring buffer
*/
virtual AuList<ConsoleMessage> Export() = 0;
virtual void PreviewRingBuffer(AuConsumer<AuPair<const AuList<ConsoleMessage>&, AuUInt32>> callback) = 0;
};
}