/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Hooks.hpp Date: 2021-6-9 Author: Reece ***/ #pragma once namespace Aurora::Console::Hooks { class IConsoleSubscriber { public: virtual void OnMessage(const ConsoleMessage &string) = 0; }; AUKN_SYM void AddSubscription(const AuSPtr &subscriber); AUKN_SYM void RemoveSubscription(const AuSPtr &subscriber); using LineHook_cb = std::function; /// @deprecated wont ever remove /// Most c++ styleguides would have you chuck an IConsoleSubscriber in your app somewhere AUKN_SYM void AddFunctionalHook(LineHook_cb hook); }