borepin/FabAccessAPI/ConnectionData.cs

40 lines
1.4 KiB
C#
Raw Normal View History

2022-05-10 13:35:23 +02:00
using System;
using System.Collections.Generic;
namespace FabAccessAPI
{
public class ConnectionData
{
public Uri Host;
public Mechanism Mechanism;
public string Username;
public Dictionary<string, object> Properties;
public DateTime LastTime;
2022-05-16 16:07:33 +02:00
public override bool Equals(object? obj)
{
2022-05-17 15:03:39 +02:00
if(obj is ConnectionData && obj != null)
{
ConnectionData? data = obj as ConnectionData;
return data.Host.Host == Host.Host &&
data.Host.Port == Host.Port &&
data.Mechanism == Mechanism &&
data.Username == Username &&
EqualityComparer<Dictionary<string, object>>.Default.Equals(Properties, data.Properties);
}
return false;
2022-05-16 16:07:33 +02:00
}
public override int GetHashCode()
{
int hashCode = -1151110446;
hashCode = hashCode * -1521134295 + EqualityComparer<Uri>.Default.GetHashCode(Host);
hashCode = hashCode * -1521134295 + Mechanism.GetHashCode();
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Username);
hashCode = hashCode * -1521134295 + EqualityComparer<Dictionary<string, object>>.Default.GetHashCode(Properties);
return hashCode;
}
2022-05-10 13:35:23 +02:00
}
}