Table of Contents

Class UpdaterPlugin

Namespace
Whim.Updater
Assembly
Whim.Updater.dll
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
public class UpdaterPlugin : IUpdaterPlugin, IPlugin, IDisposable
Inheritance
UpdaterPlugin
Implements
Inherited Members

Constructors

UpdaterPlugin(IContext, UpdaterConfig)

Initializes a new instance of UpdaterPlugin.
public UpdaterPlugin(IContext context, UpdaterConfig config)

Parameters

context IContext
config UpdaterConfig

Properties

Config

The configuration for the updater.
public UpdaterConfig Config { get; }

Property Value

UpdaterConfig

LastCheckedForUpdates

The date and time that the updater last checked for updates.
public DateTime? LastCheckedForUpdates { get; }

Property Value

DateTime?

Name

whim.updater
public string Name { get; }

Property Value

string

PluginCommands

The commands and keybinds for this plugin. These are registered during PreInitialize().
public IPluginCommands PluginCommands { get; }

Property Value

IPluginCommands

Remarks

Keybindings can be overridden by the user using SetKeybind(string, IKeybind).

SkippedReleaseTagName

The release that the user has chosen to skip.
public string? SkippedReleaseTagName { get; }

Property Value

string

Methods

CheckForUpdates(bool)

Checks for updates. If there are updates, shows the updater window.
public Task CheckForUpdates(bool notifyIfNoUpdates = true)

Parameters

notifyIfNoUpdates bool
Whether to show a notification if there are no updates. Default is true.

Returns

Task

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()

Dispose(bool)

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

LoadState(JsonElement)

Load the plugin's state from state.
public void LoadState(JsonElement state)

Parameters

state JsonElement
The plugin's state.

Remarks

State is loaded after PostInitialize() and the user's configuration has been loaded. Thus, be careful on how you interact with the user's configuration.

PostInitialize()

This method is to be called by the plugin manager. Initializes the plugin after the rest of the IContext has been initialized. Put things which rely on the rest of the context here.
public void PostInitialize()

PreInitialize()

This method is to be called by the plugin manager. Initializes the plugin before the IContext has been initialized. Put things like event listeners here or adding proxy layout engines (see AddProxyLayoutEngine(ProxyLayoutEngineCreator)).
public void PreInitialize()

SaveState()

Save the plugin's state as a JsonElement.
public JsonElement? SaveState()

Returns

JsonElement?
The plugin's state.

SkipRelease(string?)

Skips the release with the given tag name.
public void SkipRelease(string? tagName = null)

Parameters

tagName string
The tag name of the release to skip. If null, skips the latest release.