/** @file src/steam_sync_policy.h */ #pragma once #include "config_playnite.h" #include "steam_integration.h" #include #include namespace platf::steam::sync { namespace policy { std::string canonical_steam_app_uuid(std::uint32_t app_id); bool is_importable(const game_t &game, bool include_tools = false); std::vector filter_games(const std::vector &games, const std::vector &exclusions, bool include_tools = false); std::vector select_games(const std::vector &games, bool sync_all_installed, int recent_games, int recent_max_age_days, const std::vector &exclusions = {}, bool include_tools = false, std::uint64_t now = 0); // Reconcile only entries marked steam-managed. Existing manual and // Playnite entries are retained untouched. Returns whether root changed. bool reconcile(nlohmann::json &root, const std::vector &games, bool remove_uninstalled = true, const std::vector &exclusions = {}, bool include_tools = false, const std::string &source = "installed"); } // namespace policy } // namespace platf::steam::sync