#pragma once #include class CrossPointSettings; class CrossPointState; class WifiCredentialStore; class RecentBooksStore; class OpdsServerStore; struct BookmarkEntry; namespace JsonSettingsIO { // CrossPointSettings bool saveSettings(const CrossPointSettings& s, const char* path); bool loadSettings(CrossPointSettings& s, const char* json, bool* needsResave = nullptr); // CrossPointState bool saveState(const CrossPointState& s, const char* path); bool loadState(CrossPointState& s, const char* json); // WifiCredentialStore bool saveWifi(const WifiCredentialStore& store, const char* path); bool loadWifi(WifiCredentialStore& store, const char* json, bool* needsResave = nullptr); // RecentBooksStore bool saveRecentBooks(const RecentBooksStore& store, const char* path); bool loadRecentBooks(RecentBooksStore& store, const char* json); // OpdsServerStore bool saveOpds(const OpdsServerStore& store, const char* path); bool loadOpds(OpdsServerStore& store, const char* json, bool* needsResave = nullptr); // Bookmarks bool saveBookmarks(const std::vector& bookmarks, const char* path); bool loadBookmarks(std::vector& bookmarks, const char* json); } // namespace JsonSettingsIO