2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-09-13 12:43:17 +00:00
This commit is contained in:
2025-08-31 17:02:51 +03:00
parent eee5c7c036
commit 608441c0eb
7 changed files with 212 additions and 130 deletions

View File

@@ -76,6 +76,46 @@ namespace Esiur.Data
RepresentationTypeIdentifier.TypedResource
};
static Map<TransmissionTypeIdentifier, RepresentationTypeIdentifier> typesMap = new Map<TransmissionTypeIdentifier, RepresentationTypeIdentifier>()
{
[TransmissionTypeIdentifier.UInt8] = RepresentationTypeIdentifier.UInt8,
[TransmissionTypeIdentifier.Int8] = RepresentationTypeIdentifier.Int8,
[TransmissionTypeIdentifier.UInt16] = RepresentationTypeIdentifier.UInt16,
[TransmissionTypeIdentifier.Int16] = RepresentationTypeIdentifier.Int16,
[TransmissionTypeIdentifier.UInt32] = RepresentationTypeIdentifier.UInt32,
[TransmissionTypeIdentifier.Int32] = RepresentationTypeIdentifier.Int32,
[TransmissionTypeIdentifier.UInt64] = RepresentationTypeIdentifier.UInt64,
[TransmissionTypeIdentifier.Int64] = RepresentationTypeIdentifier.Int64,
[TransmissionTypeIdentifier.UInt128] = RepresentationTypeIdentifier.UInt128,
[TransmissionTypeIdentifier.Int128] = RepresentationTypeIdentifier.Int128,
[TransmissionTypeIdentifier.Char8] = RepresentationTypeIdentifier.Char,
[TransmissionTypeIdentifier.DateTime] = RepresentationTypeIdentifier.DateTime,
[TransmissionTypeIdentifier.Float32] = RepresentationTypeIdentifier.Float32,
[TransmissionTypeIdentifier.Float64] = RepresentationTypeIdentifier.Float64,
[TransmissionTypeIdentifier.Decimal128] = RepresentationTypeIdentifier.Decimal,
[TransmissionTypeIdentifier.False] = RepresentationTypeIdentifier.Bool,
[TransmissionTypeIdentifier.True] = RepresentationTypeIdentifier.Bool,
[TransmissionTypeIdentifier.Map] = RepresentationTypeIdentifier.Map,
[TransmissionTypeIdentifier.List] = RepresentationTypeIdentifier.List,
[TransmissionTypeIdentifier.RawData] = RepresentationTypeIdentifier.RawData,
[TransmissionTypeIdentifier.Record] = RepresentationTypeIdentifier.Record,
[TransmissionTypeIdentifier.String] = RepresentationTypeIdentifier.String,
};
public bool IsCompatible(TransmissionType tdu)
{
var tru = typesMap[tdu.Identifier];
if (tru != Identifier)
return false;
if (tdu.Class == TransmissionTypeClass.Typed)
{
if (tdu.Identifier == TransmissionTypeIdentifier.)
}
return true;
}
public void SetNull(List<byte> flags)
{
if (refTypes.Contains(Identifier))