#pragma once #include #include #include #include #include #include struct WifiResult { bool connected = false; std::string ssid; std::string ip; }; struct KeyboardResult { std::string text; }; struct MenuResult { int action = -1; uint8_t orientation = 0; }; struct ChapterResult { int spineIndex = 0; }; struct PercentResult { int percent = 0; }; struct PageResult { uint32_t page = 0; }; struct SyncResult { int spineIndex = 0; int page = 0; }; enum class NetworkMode; struct NetworkModeResult { NetworkMode mode; }; struct FootnoteResult { std::string href; }; using ResultVariant = std::variant; struct ActivityResult { bool isCancelled = false; ResultVariant data; explicit ActivityResult() = default; template >> // cppcheck-suppress noExplicitConstructor ActivityResult(ResultType&& result) : data{std::forward(result)} {} }; using ActivityResultHandler = std::function;