4#include <config_store.hpp>
11#include "AppContext.h"
52 explicit UiApp(
const AppContext& ctx,
const uint32_t address,
53 const std::string& name)
54 : m_bus_(
bus::UiBusClient::create(ctx.
bus, address, name, ctx.app_name)),
56 m_shared_bus_(ctx.
bus) {}
94 m_on_exit_ = std::move(on_exit);
108 [[nodiscard]]
auto hub() const ->
bus::UiBusClient& {
return *m_bus_; }
109 [[nodiscard]]
auto runtime() const ->
bus::UiRuntime& {
return *m_runtime_; }
121 return m_shared_bus_;
127 auto run_flag() -> std::atomic_bool& {
return m_run_flag_; }
130 std::shared_ptr<bus::UiBusClient> m_bus_;
131 insitech::config::ConfigStore<>& m_config_;
132 insitech::bus::IHub& m_shared_bus_;
133 std::atomic_bool m_run_flag_{
false};
134 std::shared_ptr<bus::UiRuntime> m_runtime_;
135 std::thread m_thread_;
136 std::function<void()> m_on_exit_;
UiBusClient: собственный клиент UI на шине lacte - создаётся и принадлежит самому UiApp (см.
void connect_bus(Callbacks callbacks)
auto hub() const -> bus::UiBusClient &
auto runtime() const -> bus::UiRuntime &
auto shared_bus() const -> insitech::bus::IHub &
auto config() const -> insitech::config::ConfigStore<> &
auto run_flag() -> std::atomic_bool &
UiApp(const UiApp &)=delete
void set_on_exit(std::function< void()> on_exit)
virtual auto exec() -> int=0
auto operator=(const UiApp &) -> UiApp &=delete
UiApp(const AppContext &ctx, const uint32_t address, const std::string &name)
std::function< void(int aeration)> on_aeration
std::function< void(bool enabled)> on_enabled