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
Mostra 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_oe static_oe property

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