#pragma once #include "interfaces/statusline.hpp" #include <yacppdic/factory.hpp> #include <memory> #include <string_view> // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IStatusManager { public: virtual ~IStatusManager() = default; virtual void initialize() noexcept = 0; 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<IStatusManager>( const std::shared_ptr<IStatusLine> &statusline)>;