Class MenuEntry
- Namespace
- ZeroInstall.DesktopIntegration.AccessPoints
- Assembly
- ZeroInstall.DesktopIntegration.dll
Creates an entry for an application in the user's application menu (i.e. Windows start menu, GNOME application menu, etc.).
[Equatable]
public class MenuEntry : IconAccessPoint, IEquatable<XmlUnknown>, ICloneable<AccessPoint>, IEquatable<CommandAccessPoint>, IEquatable<MenuEntry>
- Inheritance
-
MenuEntry
- Implements
- Inherited Members
Fields
AltName
public const string AltName = "menu"
Field Value
TagName
public const string TagName = "menu-entry"
Field Value
Properties
Category
The category or folder in the menu to add the entry to. Leave empty for top-level entry.
public string? Category { get; set; }
Property Value
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(MenuEntry?)
protected bool Equals(MenuEntry? other)
Parameters
other
MenuEntry
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.
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 ==(MenuEntry?, MenuEntry?)
Indicates whether the object on the left is equal to the object on the right.
public static bool operator ==(MenuEntry? left, MenuEntry? right)
Parameters
Returns
- bool
true if the objects are equal; otherwise, false.
operator !=(MenuEntry?, MenuEntry?)
Indicates whether the object on the left is not equal to the object on the right.
public static bool operator !=(MenuEntry? left, MenuEntry? right)
Parameters
Returns
- bool
true if the objects are not equal; otherwise, false.