Flow.Launcher/Flow.Launcher.Plugin/PluginPair.cs

55 lines
1.3 KiB
C#
Raw Permalink Normal View History

2020-04-21 09:12:17 +00:00
namespace Flow.Launcher.Plugin
{
2025-02-24 07:37:13 +00:00
/// <summary>
/// Plugin instance and plugin metadata
/// </summary>
public class PluginPair
{
2025-02-24 07:37:13 +00:00
/// <summary>
/// Plugin instance
/// </summary>
2021-03-23 09:25:46 +00:00
public IAsyncPlugin Plugin { get; internal set; }
2025-02-24 07:37:13 +00:00
/// <summary>
/// Plugin metadata
/// </summary>
public PluginMetadata Metadata { get; internal set; }
2025-02-24 07:37:13 +00:00
/// <summary>
/// Convert to string
/// </summary>
/// <returns></returns>
public override string ToString()
{
return Metadata.Name;
}
2025-02-24 07:37:13 +00:00
/// <summary>
/// Compare by plugin metadata ID
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public override bool Equals(object obj)
{
2025-02-24 07:37:13 +00:00
if (obj is PluginPair r)
{
return string.Equals(r.Metadata.ID, Metadata.ID);
}
else
{
return false;
}
}
2025-02-24 07:37:13 +00:00
/// <summary>
2025-03-27 12:04:03 +00:00
/// Get hash code
2025-02-24 07:37:13 +00:00
/// </summary>
/// <returns></returns>
public override int GetHashCode()
{
var hashcode = Metadata.ID?.GetHashCode() ?? 0;
return hashcode;
}
}
}