43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
namespace RemoteFrameBuffer.Common
|
|
{
|
|
public struct RfbProtoVersion(Int16 major, Int16 minor)
|
|
{
|
|
public Int16 Major = major;
|
|
public Int16 Minor = minor;
|
|
|
|
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);
|
|
|
|
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)
|
|
{
|
|
return !(b < a);
|
|
}
|
|
public static Boolean operator >=(RfbProtoVersion a, RfbProtoVersion b)
|
|
{
|
|
return !(a < b);
|
|
}
|
|
}
|
|
}
|