/** * @file App.h * @author apio (cloudapio.eu) * @brief UI application event loop. * * @copyright Copyright (c) 2023, the Luna authors. * */ #pragma once #include namespace ui { class App { public: App(); ~App(); Result init(int, char**); Result run(); os::LocalClient& client() { return *m_client; } void set_should_close(bool b) { m_should_close = b; } static App& the(); private: static App* s_app; OwnedPtr m_client; bool m_should_close { false }; }; }