Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
remote_update_fetch.hpp File Reference
#include <pulp/format/reload/pack_install.hpp>
#include <pulp/format/reload/remote_update.hpp>
#include <pulp/format/reload/revocation.hpp>
#include <pulp/format/reload/swap_pack.hpp>
#include <pulp/runtime/http.hpp>
#include <pulp/runtime/safe_relative_path.hpp>
#include <pulp/view/reload_capabilities.hpp>
#include <cstdint>
#include <filesystem>
#include <functional>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::format::reload::RemoteFetchResult
struct  pulp::format::reload::FetchedPack
 What an injected fetcher returns. More...
struct  pulp::format::reload::RemoteUpdateConfig

Namespaces

namespace  pulp
namespace  pulp::format
 What the product grants a device: the quota table indexed by capability tier and live thermal state.
namespace  pulp::format::reload

Enumerations

enum class  pulp::format::reload::RemoteFetchStatus {
  pulp::format::reload::Disabled , pulp::format::reload::Applied , pulp::format::reload::UpToDate , pulp::format::reload::Rejected ,
  pulp::format::reload::Unavailable
}

Functions

std::string pulp::format::reload::url_query_escape (std::string_view s)
 Percent-encode a query value (RFC 3986 unreserved kept; everything else escaped), so a plugin id / channel with odd characters cannot break out of the query.
std::string pulp::format::reload::build_update_check_url (const std::string &base_url, const std::string &plugin_id, const std::string &channel, std::uint64_t installed_version)
 The privacy-preserving update-check URL: base + only (plugin, channel, installed version).
bool pulp::format::reload::is_safe_pack_member_path (const std::string &p)
 True only if p is safe to join onto a download directory, per runtime::is_safe_relative_path (no rooted form, no ..).
RemoteFetchResult pulp::format::reload::check_and_fetch_remote_ux_update (const RemoteUpdateConfig &cfg, bool srl_fresh, const SignedRevocationList *srl)
 Orchestrate one opt-in remote-update check.
std::function< FetchedPack(const std::string &)> pulp::format::reload::make_http_pack_fetcher (std::string files_base_url, std::filesystem::path download_dir, int timeout_seconds=20)
 Convenience default transport over runtime::http_*: GET the manifest, then download each declared file from <files_base_url>/<relative path> into download_dir.