C# Class ZeroInstall.DesktopIntegration.IntegrationManagerBase

Base class for IIntegrationManager implementations using template methods.
Inheritance: ZeroInstall.Store.ManagerBase, IIntegrationManager
Show file Open project: 0install/0install-win

Public Methods

Method Description
AddAccessPoints ( AppEntry appEntry, Feed feed, IEnumerable accessPoints ) : void
AddApp ( FeedTarget target ) : AppEntry
AddApp ( string petName, Requirements requirements, Feed feed ) : AppEntry
RemoveAccessPoints ( AppEntry appEntry, IEnumerable accessPoints ) : void
RemoveApp ( AppEntry appEntry ) : void
Repair ( Feed>.Converter feedRetriever ) : void
UpdateApp ( AppEntry appEntry, Feed feed ) : void
UpdateApp ( AppEntry appEntry, Feed feed, Requirements requirements ) : void

Protected Methods

Method Description
AddAccessPointsInternal ( [ appEntry, [ feed, [ accessPoints ) : void

Applies AccessPoints for an application.

AddAppInternal ( FeedTarget target ) : AppEntry

Creates a new unnamed AppEntry and adds it to the AppList.

AddAppInternal ( [ petName, [ requirements, [ feed ) : AppEntry

Creates a new named AppEntry and adds it to the AppList.

AddAppInternal ( [ prototype, Feed>.[ feedRetriever ) : void

Creates a new AppEntry based on an existing prototype (applying any AccessPoints) and adds it to the AppList.

Finish ( ) : void

To be called after integration operations have been completed to inform the desktop environment and save the DesktopIntegration.AppList.

IntegrationManagerBase ( [ handler, bool machineWide = false ) : System

Creates a new integration manager.

RemoveAccessPointsInternal ( [ appEntry, [ accessPoints ) : void

Removes already applied AccessPoints for an application.

RemoveAppInternal ( [ appEntry ) : void

Removes an AppEntry from the AppList while unapplying any remaining AccessPoints.

RepairAppInternal ( [ appEntry, [ feed ) : void

Reapplies all AccessPoints for a specific AppEntry.

UpdateAppInternal ( [ appEntry, [ feed ) : void

Updates an AppEntry with new metadata and capabilities from a Feed. This may unapply and remove some existing AccessPoints.

Method Details

AddAccessPoints() public method

public AddAccessPoints ( AppEntry appEntry, Feed feed, IEnumerable accessPoints ) : void
appEntry AppEntry
feed Feed
accessPoints IEnumerable
return void

AddAccessPointsInternal() protected abstract method

Applies AccessPoints for an application.
from is the same reference as . The user canceled the task. An reference to a is invalid. One or more of the would cause a conflict with the existing s in . One of the s or s is invalid. A problem occured while downloading additional data (such as icons). A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract AddAccessPointsInternal ( [ appEntry, [ feed, [ accessPoints ) : void
appEntry [ The application being integrated.
feed [ The feed providing additional metadata, icons, etc. for the application.
accessPoints [ The access points to apply.
return void

AddApp() public method

public AddApp ( FeedTarget target ) : AppEntry
target ZeroInstall.Store.FeedTarget
return AppEntry

AddApp() public method

public AddApp ( string petName, Requirements requirements, Feed feed ) : AppEntry
petName string
requirements Requirements
feed Feed
return AppEntry

AddAppInternal() protected abstract method

Creates a new unnamed AppEntry and adds it to the AppList.
The application is already in the list. A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract AddAppInternal ( FeedTarget target ) : AppEntry
target ZeroInstall.Store.FeedTarget The application to add.
return AppEntry

AddAppInternal() protected abstract method

Creates a new named AppEntry and adds it to the AppList.
The application is already in the list. A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract AddAppInternal ( [ petName, [ requirements, [ feed ) : AppEntry
petName [ The user-defined pet-name of the application.
requirements [ The requirements describing the application to add.
feed [ The feed providing additional metadata, capabilities, etc. for the application.
return AppEntry

AddAppInternal() protected abstract method

Creates a new AppEntry based on an existing prototype (applying any AccessPoints) and adds it to the AppList.
protected abstract AddAppInternal ( [ prototype, Feed>.[ feedRetriever ) : void
prototype [ An existing to use as a prototype.
feedRetriever Feed>.[ Callback method used to retrieve additional s on demand.
return void

Finish() protected abstract method

To be called after integration operations have been completed to inform the desktop environment and save the DesktopIntegration.AppList.
protected abstract Finish ( ) : void
return void

IntegrationManagerBase() protected method

Creates a new integration manager.
A problem occurs while accessing the file. Read or write access to the file is not permitted or another desktop integration class is currently active. A problem occurs while deserializing the XML data.
protected IntegrationManagerBase ( [ handler, bool machineWide = false ) : System
handler [ A callback object used when the the user is to be informed about the progress of long-running operations such as downloads.
machineWide bool Apply operations machine-wide instead of just for the current user.
return System

RemoveAccessPoints() public method

public RemoveAccessPoints ( AppEntry appEntry, IEnumerable accessPoints ) : void
appEntry AppEntry
accessPoints IEnumerable
return void

RemoveAccessPointsInternal() protected abstract method

Removes already applied AccessPoints for an application.
An reference to a is invalid. One of the s or s is invalid. A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract RemoveAccessPointsInternal ( [ appEntry, [ accessPoints ) : void
appEntry [ The containing the .
accessPoints [ The access points to unapply.
return void

RemoveApp() public method

public RemoveApp ( AppEntry appEntry ) : void
appEntry AppEntry
return void

RemoveAppInternal() protected abstract method

Removes an AppEntry from the AppList while unapplying any remaining AccessPoints.
An reference to a is invalid. One of the s or s is invalid. A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract RemoveAppInternal ( [ appEntry ) : void
appEntry [ The application to remove.
return void

Repair() public method

public Repair ( Feed>.Converter feedRetriever ) : void
feedRetriever Feed>.Converter
return void

RepairAppInternal() protected abstract method

Reapplies all AccessPoints for a specific AppEntry.
The user canceled the task. conflicts with the rest of the . One of the s or s is invalid. A problem occured while downloading additional data (such as icons). A problem occurs while writing to the filesystem or registry. Write access to the filesystem or registry is not permitted.
protected abstract RepairAppInternal ( [ appEntry, [ feed ) : void
appEntry [ The application entry to repair.
feed [ The feed providing additional metadata, capabilities, etc. for the application.
return void

UpdateApp() public method

public UpdateApp ( AppEntry appEntry, Feed feed ) : void
appEntry AppEntry
feed Feed
return void

UpdateApp() public method

public UpdateApp ( AppEntry appEntry, Feed feed, Requirements requirements ) : void
appEntry AppEntry
feed Feed
requirements Requirements
return void

UpdateAppInternal() protected abstract method

Updates an AppEntry with new metadata and capabilities from a Feed. This may unapply and remove some existing AccessPoints.
An reference to a is invalid. One of the s or s is invalid.
protected abstract UpdateAppInternal ( [ appEntry, [ feed ) : void
appEntry [ The application entry to update.
feed [ The feed providing additional metadata, capabilities, etc. for the application.
return void