Zero Install .NET API 2.20.0
ZeroInstall.Publish.Capture.SnapshotDiff Class Reference

Represents the differences between two Snapshots. Extracts information about applications installed. More...

Inheritance diagram for ZeroInstall.Publish.Capture.SnapshotDiff:
ZeroInstall.Publish.Capture.Snapshot

Public Member Functions

AppRegistrationGetAppRegistration (CommandMapper commandMapper, CapabilityList capabilities, ref string? appName, ref string? appDescription)
 Retrieves data about registered applications. More...
 
void CollectAutoPlays (CommandMapper commandMapper, CapabilityList capabilities)
 Collects data about AutoPlay handlers. More...
 
void CollectContextMenus (CommandMapper commandMapper, CapabilityList capabilities)
 Collects data about context menu entries. More...
 
 SnapshotDiff (Snapshot before, Snapshot after)
 Determines which elements have been added to the system between two snapshots. More...
 
string GetInstallationDir ()
 Locates the directory into which the new application was installed. More...
 
void CollectDefaultPrograms (CommandMapper commandMapper, CapabilityList capabilities, ref string? appName)
 Collects data about default programs. More...
 
void CollectFileTypes (CommandMapper commandMapper, CapabilityList capabilities)
 Collects data about file types and also URL protocol handlers. More...
 
void CollectProtocolAssocs (CommandMapper commandMapper, CapabilityList capabilities)
 Collects data about well-known URL protocol handlers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ZeroInstall.Publish.Capture.Snapshot
static Snapshot Take ()
 Takes a snapshot of the current system state. More...
 
- Properties inherited from ZeroInstall.Publish.Capture.Snapshot
List<(string name, string client)> ServiceAssocs = new() [get]
 A list of associations of services with clients (e.g. web browsers, mail readers, ...).
 
List< string > AutoPlayHandlersUser = new() [get]
 A list of applications registered as AutoPlay handlers.
 
List< string > AutoPlayHandlersMachine = new() [get]
 A list of applications registered as AutoPlay handlers.
 
List<(string name, string handler)> AutoPlayAssocsUser = new() [get]
 A list of associations of AutoPlay events with AutoPlay handlers.
 
List<(string name, string handler)> AutoPlayAssocsMachine = new() [get]
 A list of associations of AutoPlay events with AutoPlay handlers.
 
List<(string extension, string progID)> FileAssocs = new() [get]
 A list of associations of file extensions with programmatic identifiers.
 
List<(string protocol, string progID)> ProtocolAssocs = new() [get]
 A list of protocol associations for well-known protocols (e.g. HTTP, FTP, ...).
 
List< string > ProgIDs = new() [get]
 A list of programmatic identifiers.
 
List< string > ClassIDs = new() [get]
 A list of COM class IDs.
 
List< string > RegisteredApplications = new() [get]
 A list of applications registered as candidates for default programs.
 
List< string > ContextMenuFiles = new() [get]
 A list of context menu entries for all files.
 
List< string > ContextMenuExecutableFiles = new() [get]
 A list of context menu entries for executable files.
 
List< string > ContextMenuDirectories = new() [get]
 A list of context menu entries for all directories.
 
List< string > ContextMenuAll = new() [get]
 A list of context menu entries for all filesystem objects (files and directories).
 
List< string > ProgramsDirs = new() [get]
 A list of program installation directories.
 

Detailed Description

Represents the differences between two Snapshots. Extracts information about applications installed.

Constructor & Destructor Documentation

◆ SnapshotDiff()

ZeroInstall.Publish.Capture.SnapshotDiff.SnapshotDiff ( Snapshot  before,
Snapshot  after 
)
inline

Determines which elements have been added to the system between two snapshots.

Parameters
beforeThe first snapshot taken.
afterThe second snapshot taken.

Assumes that all internal arrays are sorted alphabetically.

Member Function Documentation

◆ CollectAutoPlays()

void ZeroInstall.Publish.Capture.SnapshotDiff.CollectAutoPlays ( CommandMapper  commandMapper,
CapabilityList  capabilities 
)
inline

Collects data about AutoPlay handlers.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ CollectContextMenus()

void ZeroInstall.Publish.Capture.SnapshotDiff.CollectContextMenus ( CommandMapper  commandMapper,
CapabilityList  capabilities 
)
inline

Collects data about context menu entries.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ CollectDefaultPrograms()

void ZeroInstall.Publish.Capture.SnapshotDiff.CollectDefaultPrograms ( CommandMapper  commandMapper,
CapabilityList  capabilities,
ref string?  appName 
)
inline

Collects data about default programs.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
appNameIs set to the name of the application as displayed to the user; unchanged if the name was not found.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ CollectFileTypes()

void ZeroInstall.Publish.Capture.SnapshotDiff.CollectFileTypes ( CommandMapper  commandMapper,
CapabilityList  capabilities 
)
inline

Collects data about file types and also URL protocol handlers.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ CollectProtocolAssocs()

void ZeroInstall.Publish.Capture.SnapshotDiff.CollectProtocolAssocs ( CommandMapper  commandMapper,
CapabilityList  capabilities 
)
inline

Collects data about well-known URL protocol handlers.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ GetAppRegistration()

AppRegistration? ZeroInstall.Publish.Capture.SnapshotDiff.GetAppRegistration ( CommandMapper  commandMapper,
CapabilityList  capabilities,
ref string?  appName,
ref string?  appDescription 
)
inline

Retrieves data about registered applications.

Parameters
commandMapperProvides best-match command-line to Command mapping.
capabilitiesThe capability list to add the collected data to.
appNameIs set to the name of the application as displayed to the user; unchanged if the name was not found.
appDescriptionIs set to a user-friendly description of the application; unchanged if the name was not found.
Exceptions
IOExceptionThere was an error accessing the registry.
UnauthorizedAccessExceptionRead access to the registry was not permitted.

◆ GetInstallationDir()

string ZeroInstall.Publish.Capture.SnapshotDiff.GetInstallationDir ( )
inline

Locates the directory into which the new application was installed.

Exceptions
InvalidOperationExceptionNo installation directory was detected.

The documentation for this class was generated from the following files: