2023-02-17 14:45:19 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace console
|
|
|
|
{
|
|
|
|
void set_title(const std::string& title);
|
2023-03-14 14:12:50 -04:00
|
|
|
void set_interceptor(std::function<void(const std::string& message)> callback);
|
|
|
|
void remove_interceptor();
|
|
|
|
|
|
|
|
struct scoped_interceptor
|
|
|
|
{
|
|
|
|
scoped_interceptor(std::function<void(const std::string& message)> callback)
|
|
|
|
{
|
|
|
|
set_interceptor(std::move(callback));
|
|
|
|
}
|
|
|
|
|
|
|
|
~scoped_interceptor()
|
|
|
|
{
|
|
|
|
remove_interceptor();
|
|
|
|
}
|
|
|
|
|
|
|
|
scoped_interceptor(scoped_interceptor&&) = delete;
|
|
|
|
scoped_interceptor(const scoped_interceptor&) = delete;
|
|
|
|
scoped_interceptor& operator=(scoped_interceptor&&) = delete;
|
|
|
|
scoped_interceptor& operator=(const scoped_interceptor&) = delete;
|
|
|
|
};
|
2023-02-17 14:45:19 -05:00
|
|
|
}
|