Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ApplicationLevelInformation.cs
1using System.Globalization;
2
4{
9 {
14 : base([])
15 {
16 }
17
29 : base(Value)
30 {
31 this.LdsMajorVersion = LdsMajorVersion;
32 this.LdsMinorVersion = LdsMinorVersion;
33 this.UnicodeMajorVersion = UnicodeMajorVersion;
34 this.UnicodeMinorVersion = UnicodeMinorVersion;
35 this.TagList = TagList;
36 }
37
41 public override ushort Tag => 0x60;
42
46 public int LdsMajorVersion { get; }
47
51 public int LdsMinorVersion { get; }
52
56 public int UnicodeMajorVersion { get; }
57
61 public int UnicodeMinorVersion { get; }
62
66 public TagList? TagList { get; }
67
74 public override IDataObject Create(byte[] Value, IDataObject[] Inner, TravelDocumentsClient Client)
75 {
76 LdsVersionNumber? LdsVersion = null;
77 UnicodeVersionNumber? UnicodeVersion = null;
78 TagList? TagList = null;
79
80 foreach (IDataObject SubGroup in Inner)
81 {
82 if (SubGroup is LdsVersionNumber LdsVersion2)
83 LdsVersion = LdsVersion2;
84 else if (SubGroup is UnicodeVersionNumber UnicodeVersion2)
85 UnicodeVersion = UnicodeVersion2;
86 else if (SubGroup is TagList TagList2)
87 TagList = TagList2;
88 else
89 {
90 Client.Warning("Unknown application level information tag: " + SubGroup.Tag.ToString("X4", CultureInfo.InvariantCulture));
91 break;
92 }
93 }
94
95 return new ApplicationLevelInformation(Value, LdsVersion?.MajorVersion ?? 0,
96 LdsVersion?.MinorVersion ?? 0, UnicodeVersion?.MajorVersion ?? 0,
97 UnicodeVersion?.MinorVersion ?? 0, TagList);
98 }
99
107 public bool HasAtLeastLdsVersion(int Major, int Minor)
108 {
109 return this.LdsMajorVersion > Major ||
110 (this.LdsMajorVersion == Major && this.LdsMinorVersion >= Minor);
111 }
112 }
113}
Application-Level Information. Reference: §4.6.1, EF.COM, ICAO Doc 9303-10, Table 35.
ApplicationLevelInformation()
Application-Level Information. Reference: §4.6.1, EF.COM, ICAO Doc 9303-10, Table 35.
override IDataObject Create(byte[] Value, IDataObject[] Inner, TravelDocumentsClient Client)
Creates a parsed instance of the data object.
ApplicationLevelInformation(byte[] Value, int LdsMajorVersion, int LdsMinorVersion, int UnicodeMajorVersion, int UnicodeMinorVersion, TagList? TagList)
Application-Level Information. Reference: §4.6.1, EF.COM, ICAO Doc 9303-10, Table 35.
bool HasAtLeastLdsVersion(int Major, int Minor)
Checks that the LDS version is at least the specified version.
Abstract base class for data objects that contain nested data objects.