#pragma once #include #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; int nameId = -1; uint8_t orientation = 0; uint8_t pageTurnOption = 0; int8_t embeddedStyleOverride = -1; int8_t imageRenderingOverride = -1; int8_t fontFamilyOverride = -1; std::string sdFontFamilyOverride; int8_t fontSizeOverride = -1; uint8_t textDarkness = 1; uint8_t bionicReadingOverride = 0; int8_t paragraphAlignmentOverride = -1; }; struct ChapterResult { int spineIndex = 0; std::optional tocIndex; }; struct PercentResult { int percent = 0; }; struct PageResult { uint32_t page = 0; }; struct SyncResult { int spineIndex = 0; int page = 0; // estimated page (fallback) uint16_t paragraphIndex = 0; // 1-based

index from XPath bool hasParagraphIndex = false; // true when paragraphIndex is available uint16_t listItemIndex = 0; // running

  • count when XPath ends in /li[N] bool hasListItemIndex = false; // true when listItemIndex is available }; enum class NetworkMode; struct NetworkModeResult { NetworkMode mode; }; struct FootnoteResult { std::string href; }; struct FilePathResult { std::string path; }; struct StarredPageResult { int spineIndex = 0; int pageNumber = 0; }; 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;