2020-04-21 09:12:17 +00:00
|
|
|
|
namespace Flow.Launcher.Plugin
|
2013-12-20 17:20:17 +00:00
|
|
|
|
{
|
2025-02-24 07:37:13 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Plugin instance and plugin metadata
|
|
|
|
|
|
/// </summary>
|
2013-12-20 17:20:17 +00:00
|
|
|
|
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; }
|
2015-01-26 09:46:55 +00:00
|
|
|
|
|
2025-02-24 07:37:13 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Plugin metadata
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public PluginMetadata Metadata { get; internal set; }
|
2015-02-04 16:03:35 +00:00
|
|
|
|
|
2025-02-24 07:37:13 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Convert to string
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <returns></returns>
|
2015-01-26 09:46:55 +00:00
|
|
|
|
public override string ToString()
|
|
|
|
|
|
{
|
|
|
|
|
|
return Metadata.Name;
|
|
|
|
|
|
}
|
2015-11-09 03:20:02 +00:00
|
|
|
|
|
2025-02-24 07:37:13 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Compare by plugin metadata ID
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="obj"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2015-11-09 03:20:02 +00:00
|
|
|
|
public override bool Equals(object obj)
|
|
|
|
|
|
{
|
2025-02-24 07:37:13 +00:00
|
|
|
|
if (obj is PluginPair r)
|
2015-11-09 03:20:02 +00:00
|
|
|
|
{
|
|
|
|
|
|
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>
|
2015-11-09 03:20:02 +00:00
|
|
|
|
public override int GetHashCode()
|
|
|
|
|
|
{
|
|
|
|
|
|
var hashcode = Metadata.ID?.GetHashCode() ?? 0;
|
|
|
|
|
|
return hashcode;
|
|
|
|
|
|
}
|
2013-12-20 17:20:17 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|