Class UrlProtocol
- Namespace
- ZeroInstall.DesktopIntegration.AccessPoints
- Assembly
- ZeroInstall.DesktopIntegration.dll
Makes an application the default handler for a specific URL protocol.
[Equatable]
public class UrlProtocol : DefaultAccessPoint, IEquatable<XmlUnknown>, ICloneable<AccessPoint>, IEquatable<DefaultAccessPoint>, IEquatable<UrlProtocol>
- Inheritance
-
UrlProtocol
- Implements
- Inherited Members
Methods
Apply(AppEntry, Feed, IIconStore, bool)
Applies this access point to the current machine.
public override void Apply(AppEntry appEntry, Feed feed, IIconStore iconStore, bool machineWide)
Parameters
appEntry
AppEntryThe application being integrated.
feed
FeedThe feed providing additional metadata, icons, etc. for the application.
iconStore
IIconStoreStores icon files downloaded from the web as local files.
machineWide
boolApply the configuration machine-wide instead of just for the current user.
Exceptions
- KeyNotFoundException
An AccessPoint reference to a Capability is invalid.
- OperationCanceledException
The user canceled the task.
- IOException
A problem occurred while writing to the filesystem or registry.
- WebException
A problem occurred while downloading additional data (such as icons).
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
Clone()
Creates a deep copy of this AccessPoint instance.
public override AccessPoint Clone()
Returns
- AccessPoint
The new copy of the AccessPoint.
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
obj
objectThe object to compare with the current object.
Returns
Equals(UrlProtocol?)
protected bool Equals(UrlProtocol? other)
Parameters
other
UrlProtocol
Returns
GetConflictIDs(AppEntry)
Retrieves identifiers from a namespace global to all AccessPoints. Collisions in this namespace indicate that the respective AccessPoints are in conflict cannot be applied on a system at the same time.
public override IEnumerable<string> GetConflictIDs(AppEntry appEntry)
Parameters
appEntry
AppEntryThe application entry containing this access point.
Returns
Remarks
These identifiers are not guaranteed to stay the same between versions. They should not be stored in files but instead always generated on demand.
Exceptions
- KeyNotFoundException
An AccessPoint reference to a Capability is invalid.
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
ToString()
Returns the access point in the form "UrlProtocol: Capability". Not safe for parsing!
public override string ToString()
Returns
Unapply(AppEntry, bool)
Unapply this access point on the current machine.
public override void Unapply(AppEntry appEntry, bool machineWide)
Parameters
appEntry
AppEntryThe application entry containing this access point.
machineWide
boolApply the configuration machine-wide instead of just for the current user.
Exceptions
- KeyNotFoundException
An AccessPoint reference to a Capability is invalid.
- IOException
A problem occurred while writing to the filesystem or registry.
- UnauthorizedAccessException
Write access to the filesystem or registry is not permitted.
Operators
operator ==(UrlProtocol?, UrlProtocol?)
Indicates whether the object on the left is equal to the object on the right.
public static bool operator ==(UrlProtocol? left, UrlProtocol? right)
Parameters
left
UrlProtocolThe left object
right
UrlProtocolThe right object
Returns
- bool
true if the objects are equal; otherwise, false.
operator !=(UrlProtocol?, UrlProtocol?)
Indicates whether the object on the left is not equal to the object on the right.
public static bool operator !=(UrlProtocol? left, UrlProtocol? right)
Parameters
left
UrlProtocolThe left object
right
UrlProtocolThe right object
Returns
- bool
true if the objects are not equal; otherwise, false.