Class CategoryIntegrationManager
Manages desktop integration via AccessPoints, grouping them into categories.
Inherited Members
Namespace: ZeroInstall.DesktopIntegration
Assembly: ZeroInstall.DesktopIntegration.dll
Syntax
public class CategoryIntegrationManager : IntegrationManager, ICategoryIntegrationManager, IIntegrationManager
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, Boolean)
Creates a new integration manager using the default AppList (creating a new one if missing). Performs Mutex-based locking!
Declaration
public CategoryIntegrationManager(Config config, ITaskHandler handler, bool machineWide = false)
Parameters
Type | Name | Description |
---|---|---|
Config | config | User settings controlling network behaviour. |
ITaskHandler | handler | A callback object used when the the user is to be informed about the progress of long-running operations such as downloads. |
Boolean | machineWide | Apply operations machine-wide instead of just for the current user. |
Exceptions
Type | Condition |
---|---|
IOException | A problem occurred while accessing the AppList file. |
UnauthorizedAccessException | Read or write access to the AppList file is not permitted or another desktop integration class is currently active. |
InvalidDataException | A problem occurred while deserializing an XML file. |
Fields
AllCategories
A list of all known AccessPoint categories.
Declaration
public static readonly string[] AllCategories
Field Value
Type | Description |
---|---|
String[] |
StandardCategories
A list of recommended standard AccessPoint categories.
Declaration
public static readonly string[] StandardCategories
Field Value
Type | Description |
---|---|
String[] |
Methods
AddAccessPointCategories(AppEntry, Feed, String[])
Applies a category of AccessPoints for an application.
Declaration
public void AddAccessPointCategories(AppEntry appEntry, Feed feed, params string[] categories)
Parameters
Type | Name | Description |
---|---|---|
AppEntry | appEntry | The application being integrated. |
Feed | feed | The feed providing additional metadata, icons, etc. for the application. |
String[] | categories | A list of all AccessPoint categories to be added to the already applied ones. |
Exceptions
Type | Condition |
---|---|
ConflictException | One or more of the |
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, String[])
Removes a category of already applied AccessPoints for an application.
Declaration
public void RemoveAccessPointCategories(AppEntry appEntry, params string[] categories)
Parameters
Type | Name | Description |
---|---|---|
AppEntry | appEntry | The application being integrated. |
String[] | categories | A list of all AccessPoint categories to be removed from the already applied ones. |
Exceptions
Type | Condition |
---|---|
IOException | A problem occurred while writing to the filesystem or registry. |
UnauthorizedAccessException | Write access to the filesystem or registry is not permitted. |
Explicit Interface Implementations
IIntegrationManager.get_MachineWide()
Declaration
bool IIntegrationManager.get_MachineWide()
Returns
Type | Description |
---|---|
Boolean |