Skip to main content

IUpdateSource interface

Namespace: Velopack.Sources

Abstraction for finding and downloading updates from a package source / repository. An implementation may copy a file from a local repository, download from a web address, or even use third party services and parse proprietary data to produce a package feed.

public interface IUpdateSource

Methods

MethodSummary
GetReleaseFeedRetrieve the list of available remote releases from the package source. These releases
DownloadReleaseEntryDownload the specified VelopackAsset to the provided local file path.

GetReleaseFeed(logger, appId, channel, stagingId, latestLocalRelease)

Task<VelopackAssetFeed> GetReleaseFeed(IVelopackLogger logger, string? appId, string channel, Guid? stagingId = null, VelopackAsset? latestLocalRelease = null)

Retrieve the list of available remote releases from the package source. These releases can subsequently be downloaded with DownloadReleaseEntry.

Parameters

NameTypeDescription
loggerIVelopackLoggerThe logger to use for any diagnostic messages.
appIdstring
channelstringRelease channel to filter packages by. Can be null, which is the
default channel for this operating system.
stagingIdGuid?A persistent user-id, used for calculating whether a specific
release should be available to this user or not. (eg, for the purposes of rolling out
an update to only a small portion of users at a time).
latestLocalReleaseVelopackAssetThe latest / current local release. If specified,
metadata from this package may be provided to the remote server (such as package id,
or cpu architecture) to ensure that the correct package is downloaded for this user.

Returns Task<VelopackAssetFeed> — An array of VelopackAsset objects that are available for download and are applicable to this user.

DownloadReleaseEntry(logger, releaseEntry, localFile, progress, cancelToken)

Task DownloadReleaseEntry(IVelopackLogger logger, VelopackAsset releaseEntry, string localFile, Action<int> progress, CancellationToken cancelToken = default)

Download the specified VelopackAsset to the provided local file path.

Parameters

NameTypeDescription
loggerIVelopackLoggerThe logger to use for any diagnostic messages.
releaseEntryVelopackAssetThe release to download.
localFilestringThe path on the local disk to store the file. If this file exists,
it will be overwritten.
progressAction<int>This delegate will be executed with values from 0-100 as the
download is being processed.
cancelTokenCancellationTokenA token to use to cancel the request.

Returns Task


Generated from Velopack 1.1.1