From fb080f6fb911b1831c176a06259e384772541dd5 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 2 May 2022 22:36:21 +0200 Subject: refactor: seperate statusline related concerns --- src/interfaces/status_manager.hpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/interfaces/status_manager.hpp (limited to 'src/interfaces/status_manager.hpp') diff --git a/src/interfaces/status_manager.hpp b/src/interfaces/status_manager.hpp new file mode 100644 index 0000000..afc8416 --- /dev/null +++ b/src/interfaces/status_manager.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include "interfaces/statusline.hpp" + +#include + +#include +#include + +// NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) +class IStatusManager +{ +public: + virtual ~IStatusManager() = default; + + virtual void set_section_title( + const StatusLineSection §ion, + const std::string_view &title + ) noexcept = 0; + + virtual void set_section_body( + const StatusLineSection §ion, + const std::string_view &body + ) noexcept = 0; +}; + +using IStatusManagerFactory = yacppdic::Factory< + std::unique_ptr(const std::shared_ptr &statusline)>; -- cgit v1.2.3-18-g5258