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
Afficher le fichier Open project: 0install/0install-win Class Usage Examples

Méthodes publiques

Свойство Type Description
ChangedWindowMessageID int

Méthodes publiques

Méthode 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!

Méthodes protégées

Méthode 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

Méthode Description
DeleteAppDir ( AppEntry appEntry ) : void
WriteAppDir ( AppEntry appEntry ) : void

Method Details

AddAccessPointsInternal() protected méthode

protected AddAccessPointsInternal ( AppEntry appEntry, Feed feed, IEnumerable accessPoints ) : void
appEntry AppEntry
feed Feed
accessPoints IEnumerable
Résultat void

AddAppInternal() protected méthode

protected AddAppInternal ( FeedTarget target ) : AppEntry
target ZeroInstall.Store.FeedTarget
Résultat AppEntry

AddAppInternal() protected méthode

protected AddAppInternal ( string petName, Requirements requirements, Feed feed ) : AppEntry
petName string
requirements Requirements
feed Feed
Résultat AppEntry

AddAppInternal() protected méthode

protected AddAppInternal ( AppEntry prototype, Feed>.Converter feedRetriever ) : void
prototype AppEntry
feedRetriever Feed>.Converter
Résultat void

Finish() protected méthode

protected Finish ( ) : void
Résultat void

IntegrationManager() public méthode

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.
Résultat System

IntegrationManager() public méthode

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.
Résultat System

RemoveAccessPointsInternal() protected méthode

protected RemoveAccessPointsInternal ( AppEntry appEntry, IEnumerable accessPoints ) : void
appEntry AppEntry
accessPoints IEnumerable
Résultat void

RemoveAppInternal() protected méthode

protected RemoveAppInternal ( AppEntry appEntry ) : void
appEntry AppEntry
Résultat void

RepairAppInternal() protected méthode

protected RepairAppInternal ( AppEntry appEntry, Feed feed ) : void
appEntry AppEntry
feed Feed
Résultat void

UpdateAppInternal() protected méthode

protected UpdateAppInternal ( AppEntry appEntry, Feed feed ) : void
appEntry AppEntry
feed Feed
Résultat 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
Résultat int