2026-02-05 15:34:59 +01:00
|
|
|
|
namespace RemoteFrameBuffer.Common
|
|
|
|
|
|
{
|
|
|
|
|
|
public struct RfbProtoVersion(Int16 major, Int16 minor)
|
|
|
|
|
|
{
|
|
|
|
|
|
public Int16 Major = major;
|
|
|
|
|
|
public Int16 Minor = minor;
|
|
|
|
|
|
|
2026-02-09 14:26:11 +01:00
|
|
|
|
public override Boolean Equals(Object? obj) => obj is RfbProtoVersion version && this.Major == version.Major && this.Minor == version.Minor;
|
|
|
|
|
|
public override Int32 GetHashCode() => HashCode.Combine(this.Major, this.Minor);
|
2026-02-05 15:34:59 +01:00
|
|
|
|
|
|
|
|
|
|
public static Boolean operator ==(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
|
|
|
|
|
return (a.Major == b.Major) && (a.Minor == b.Minor);
|
|
|
|
|
|
}
|
|
|
|
|
|
public static Boolean operator !=(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
|
|
|
|
|
return !(a == b);
|
|
|
|
|
|
}
|
|
|
|
|
|
public static Boolean operator <(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (a.Major == b.Major)
|
|
|
|
|
|
{
|
|
|
|
|
|
return a.Minor < b.Minor;
|
|
|
|
|
|
} else
|
|
|
|
|
|
{
|
|
|
|
|
|
return a.Major < b.Major;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
public static Boolean operator >(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
|
|
|
|
|
return b < a;
|
|
|
|
|
|
}
|
|
|
|
|
|
public static Boolean operator <=(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
2026-02-09 14:26:11 +01:00
|
|
|
|
return !(b < a);
|
2026-02-05 15:34:59 +01:00
|
|
|
|
}
|
|
|
|
|
|
public static Boolean operator >=(RfbProtoVersion a, RfbProtoVersion b)
|
|
|
|
|
|
{
|
2026-02-09 14:26:11 +01:00
|
|
|
|
return !(a < b);
|
2026-02-05 15:34:59 +01:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|