C# Class ZeroInstall.DesktopIntegration.IntegrationManager

Manages an AppList and desktop integration via AccessPoints.
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 IDisposable.Dispose.
Inheritance: IntegrationManagerBase
Show file Open project: 0install/0install-win Class Usage Examples

Public Properties

Property Type Description
ChangedWindowMessageID int

Public Methods

Method Description
IntegrationManager ( [ appListPath, [ handler, bool machineWide = false ) : System

Creates a new integration manager using a custom DesktopIntegration.AppList. Uses no mutex!

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

Creates a new integration manager using the default DesktopIntegration.AppList (creating a new one if missing). Performs Mutex-based locking!

Protected Methods

Method Description
AddAccessPointsInternal ( AppEntry appEntry, Feed feed, IEnumerable accessPoints ) : void
AddAppInternal ( FeedTarget target ) : AppEntry
AddAppInternal ( string petName, Requirements requirements, Feed feed ) : AppEntry
AddAppInternal ( AppEntry prototype, Feed>.Converter feedRetriever ) : void
Finish ( ) : void
RemoveAccessPointsInternal ( AppEntry appEntry, IEnumerable accessPoints ) : void
RemoveAppInternal ( AppEntry appEntry ) : void
RepairAppInternal ( AppEntry appEntry, Feed feed ) : void
UpdateAppInternal ( AppEntry appEntry, Feed feed ) : void

Private Methods

Method Description
DeleteAppDir ( AppEntry appEntry ) : void
WriteAppDir ( AppEntry appEntry ) : void

Method Details

AddAccessPointsInternal() protected method

protected AddAccessPointsInternal ( AppEntry appEntry, Feed feed, IEnumerable accessPoints ) : void
appEntry AppEntry
feed Feed
accessPoints IEnumerable
return void

AddAppInternal() protected method

protected AddAppInternal ( FeedTarget target ) : AppEntry
target ZeroInstall.Store.FeedTarget
return AppEntry

AddAppInternal() protected method

protected AddAppInternal ( string petName, Requirements requirements, Feed feed ) : AppEntry
petName string
requirements Requirements
feed Feed
return AppEntry

AddAppInternal() protected method

protected AddAppInternal ( AppEntry prototype, Feed>.Converter feedRetriever ) : void
prototype AppEntry
feedRetriever Feed>.Converter
return void

Finish() protected method

protected Finish ( ) : void
return void

IntegrationManager() public method

Creates a new integration manager using a custom DesktopIntegration.AppList. Uses no mutex!
does not existing. A problem occurs while accessing . Read or write access to file is not permitted. A problem occurs while deserializing the XML data.
public IntegrationManager ( [ appListPath, [ handler, bool machineWide = false ) : System
appListPath [ The storage location of the file.
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

IntegrationManager() public method

Creates a new integration manager using the default DesktopIntegration.AppList (creating a new one if missing). Performs Mutex-based locking!
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.
public IntegrationManager ( [ 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

RemoveAccessPointsInternal() protected method

protected RemoveAccessPointsInternal ( AppEntry appEntry, IEnumerable accessPoints ) : void
appEntry AppEntry
accessPoints IEnumerable
return void

RemoveAppInternal() protected method

protected RemoveAppInternal ( AppEntry appEntry ) : void
appEntry AppEntry
return void

RepairAppInternal() protected method

protected RepairAppInternal ( AppEntry appEntry, Feed feed ) : void
appEntry AppEntry
feed Feed
return void

UpdateAppInternal() protected method

protected UpdateAppInternal ( AppEntry appEntry, Feed feed ) : void
appEntry AppEntry
feed Feed
return void

Property Details

ChangedWindowMessageID public static property

The window message ID (for use with WindowsUtils.BroadcastMessage) that signals integration changes to interested observers.
public static int ChangedWindowMessageID
return int