Interface IIntegrationManager
- Namespace
- ZeroInstall.DesktopIntegration
- Assembly
- ZeroInstall.DesktopIntegration.dll
Manages an AppList and desktop integration via AccessPoints.
public interface IIntegrationManager
Properties
AppList
Stores a list of applications and their desktop integrations. Only use for read-access externally! Use this class' methods for any modifications.
AppList AppList { get; }
Property Value
MachineWide
Apply operations machine-wide instead of just for the current user.
bool MachineWide { get; }
Property Value
Methods
AddAccessPoints(AppEntry, Feed, IEnumerable<AccessPoint>)
Applies AccessPoints for an application.
void AddAccessPoints(AppEntry appEntry, Feed feed, IEnumerable<AccessPoint> accessPoints)
Parameters
appEntry
AppEntryThe application being integrated.
feed
FeedThe feed providing additional metadata, icons, etc. for the application.
accessPoints
IEnumerable<AccessPoint>The access points to apply.
Exceptions
- OperationCanceledException
The user canceled the task.
- ConflictException
One or more of the
accessPoints
would cause a conflict with the existing AccessPoints in AppList.- WebException
A problem occurred while downloading additional data (such as icons).
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
AddApp(string, Requirements, Feed)
AppEntry AddApp(string petName, Requirements requirements, Feed feed)
Parameters
petName
stringThe user-defined pet-name of the application.
requirements
RequirementsThe requirements describing the application to add.
feed
FeedThe feed providing additional metadata, capabilities, etc. for the application.
Returns
Exceptions
- InvalidOperationException
An application with the same
petName
is already in the list.- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
AddApp(FeedTarget)
AppEntry AddApp(FeedTarget target)
Parameters
target
FeedTargetThe application to add.
Returns
Exceptions
- InvalidOperationException
The application is already in the list.
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
RemoveAccessPoints(AppEntry, IEnumerable<AccessPoint>)
Removes already applied AccessPoints for an application.
void RemoveAccessPoints(AppEntry appEntry, IEnumerable<AccessPoint> accessPoints)
Parameters
appEntry
AppEntryThe application being integrated.
accessPoints
IEnumerable<AccessPoint>The access points to unapply.
Exceptions
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
RemoveApp(AppEntry)
Removes an AppEntry from the AppList while unapplying any remaining AccessPoints.
void RemoveApp(AppEntry appEntry)
Parameters
appEntry
AppEntryThe application to remove.
Exceptions
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
Repair(Converter<FeedUri, Feed>)
Reapplies all AccessPoints for all AppEntrys.
void Repair(Converter<FeedUri, Feed> feedRetriever)
Parameters
Exceptions
- OperationCanceledException
The user canceled the task.
- ConflictException
The AppList has inner conflicts.
- WebException
A problem occurred while downloading additional data (such as icons).
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
UpdateApp(AppEntry, Feed)
Updates an AppEntry with new metadata and capabilities from a Feed. This may unapply and remove some existing AccessPoints.
void UpdateApp(AppEntry appEntry, Feed feed)
Parameters
appEntry
AppEntryThe application entry to update.
feed
FeedThe feed providing additional metadata, capabilities, etc. for the application.
UpdateApp(AppEntry, Feed, Requirements)
Updates a named AppEntry with new Requirements.
void UpdateApp(AppEntry appEntry, Feed feed, Requirements requirements)
Parameters
appEntry
AppEntryThe application entry to update.
feed
FeedThe feed providing additional metadata, capabilities, etc. for the application.
requirements
RequirementsThe new requirements to apply to the app.