UI
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include <vamp_protocol/page_control.hpp>
|
||||
#include <vamp_zero/config.hpp>
|
||||
#include <vamp_zero/types.hpp>
|
||||
#include <vamp_zero/menu.hpp>
|
||||
|
||||
namespace vamp_zero {
|
||||
|
||||
@@ -21,23 +22,15 @@ struct ui_runtime;
|
||||
|
||||
class score_loader;
|
||||
|
||||
struct ui_state {
|
||||
vamp_zero::app_state app{};
|
||||
std::string ap_ssid{};
|
||||
std::string zero_ip{};
|
||||
std::uint16_t port{8080};
|
||||
};
|
||||
|
||||
class zero_ui {
|
||||
public:
|
||||
zero_ui(boost::asio::any_io_executor executor, luma::application_config config, vamp_zero::database_config database, std::string assets_path, std::function<void(vamp_protocol::page_command)> command_handler = {});
|
||||
zero_ui(boost::asio::any_io_executor executor, luma::application_config config, vamp_zero::database_config database, std::string assets_path, std::function<void(vamp_protocol::page_command)> command_handler = {}, std::function<void(vamp_zero::menu_action)> menu_handler = {});
|
||||
~zero_ui();
|
||||
zero_ui(zero_ui const &) = delete;
|
||||
auto operator=(zero_ui const &) -> zero_ui & = delete;
|
||||
auto run() -> std::expected<void, modulus::error>;
|
||||
auto stop() -> void;
|
||||
auto publish(vamp_zero::ui_state state) -> std::expected<void, modulus::error>;
|
||||
auto snapshot() const -> vamp_zero::ui_state;
|
||||
auto publish(vamp_zero::app_state state) -> std::expected<void, modulus::error>;
|
||||
auto selected_score_loader() const -> std::shared_ptr<vamp_zero::score_loader>;
|
||||
private:
|
||||
std::shared_ptr<luma::application> application_;
|
||||
@@ -45,6 +38,4 @@ private:
|
||||
std::shared_ptr<vamp_zero::score_loader> score_loader_;
|
||||
};
|
||||
|
||||
auto make_ui_state(vamp_zero::config const &config, vamp_zero::app_state app) -> vamp_zero::ui_state;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user