Table of Contents

Class CategoryIntegrationManager

Namespace
ZeroInstall.DesktopIntegration
Assembly
ZeroInstall.DesktopIntegration.dll

Manages desktop integration via AccessPoints, grouping them into categories.

[MustDisposeResource]
public class CategoryIntegrationManager : IntegrationManager, IDisposable, ICategoryIntegrationManager, IIntegrationManager
Inheritance
CategoryIntegrationManager
Implements
Inherited Members

Remarks

To prevent race-conditions there may only be one desktop integration class instance active at any given time. This class acquires a mutex upon calling its constructor and releases it upon calling Dispose().

Constructors

CategoryIntegrationManager(Config, ITaskHandler, bool)

Manages desktop integration via AccessPoints, grouping them into categories.

public CategoryIntegrationManager(Config config, ITaskHandler handler, bool machineWide = false)

Parameters

config Config
handler ITaskHandler
machineWide bool

Remarks

To prevent race-conditions there may only be one desktop integration class instance active at any given time. This class acquires a mutex upon calling its constructor and releases it upon calling Dispose().

Fields

AllCategories

A list of all known AccessPoint categories.

public static readonly string[] AllCategories

Field Value

string[]

StandardCategories

A list of recommended standard AccessPoint categories.

public static readonly string[] StandardCategories

Field Value

string[]

Methods

AddAccessPointCategories(AppEntry, Feed, params string[])

Applies a category of AccessPoints for an application.

public void AddAccessPointCategories(AppEntry appEntry, Feed feed, params string[] categories)

Parameters

appEntry AppEntry

The application being integrated.

feed Feed

The feed providing additional metadata, icons, etc. for the application.

categories string[]

A list of all AccessPoint categories to be added to the already applied ones.

Exceptions

ConflictException

One or more of the categories would cause a conflict with the existing AccessPoints in AppList.

OperationCanceledException

The user canceled the task.

IOException

A problem occurred while writing to the filesystem or registry.

WebException

A problem occurred while downloading additional data (such as icons).

UnauthorizedAccessException

Write access to the filesystem or registry is not permitted.

RemoveAccessPointCategories(AppEntry, params string[])

Removes a category of already applied AccessPoints for an application.

public void RemoveAccessPointCategories(AppEntry appEntry, params string[] categories)

Parameters

appEntry AppEntry

The application being integrated.

categories string[]

A list of all AccessPoint categories to be removed from the already applied ones.

Exceptions

IOException

A problem occurred while writing to the filesystem or registry.

UnauthorizedAccessException

Write access to the filesystem or registry is not permitted.