// /** // * File: ODBByteBuffer.cs // * Author: haraldwolff // * // * This file and it's content is copyrighted by the Author and / or copyright holder. // * Any use wihtout proper permission is illegal and may lead to legal actions. // * // * // **/ using ln.type; using System; namespace ln.objects.catalog { public class ODBByteBuffer : ODBValue { public byte[] GetBytes() => (byte[])Value; public ODBByteBuffer(byte[] bytes) : base(0x0800, bytes.Slice(0)) { } public override byte[] Serialize() => GetBytes(); protected override int compare(ODBEntity other) { ODBByteBuffer you = other as ODBByteBuffer; byte[] myBytes = GetBytes(); byte[] yourBytes = you.GetBytes(); int dl = myBytes.Length - yourBytes.Length; if (dl != 0) return dl; while (dl < myBytes.Length) { int d = myBytes[dl] - yourBytes[dl++]; if (d != 0) return d; } return 0; } static ODBByteBuffer() { RegisterDeserializer(0x0800, (storageBytes, offset, length) => new ODBByteBuffer(storageBytes.Slice(offset, length))); } } }