#define TRACE using System; using System.CodeDom.Compiler; using System.Diagnostics; using System.IO; using System.Xml.Serialization; using ArchestrAServices.Common; using ArchestrAServices.Contract; namespace ArchestrAServices.ASBContract; [Serializable] [GeneratedCode("System.Xml", "4.0.30319.18054")] [DebuggerStepThrough] [XmlType(Namespace = "http://asb.contracts.idata.data/20111111")] public struct ASBStatus : IASBCustomSerializableType { private sbyte countField; private byte[] payloadField; public sbyte Count { get { return countField; } set { countField = value; } } [XmlElement(DataType = "base64Binary")] public byte[] Payload { get { return payloadField; } set { payloadField = value; } } public void WriteToStream(BinaryWriter writer) { if (writer == null) { return; } try { writer.Write(countField); if (payloadField != null) { writer.Write((uint)payloadField.Length); writer.Write(payloadField); } else { writer.Write(0u); } } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ASBStatus: WriteTo. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } public void InitializeFromStream(BinaryReader reader) { if (reader == null) { return; } try { countField = reader.ReadSByte(); int num = reader.ReadInt32(); if (num > 0) { payloadField = reader.ReadBytes(num); } else { payloadField = null; } } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ASBStatus: InitializeFrom. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } public object InitializeArrayFromStream(BinaryReader reader, int arrayCnt) { object result = null; if (MemoryStreamHelper.ValidateStream(reader, arrayCnt)) { try { ASBStatus[] array = new ASBStatus[arrayCnt]; for (int i = 0; i < arrayCnt; i++) { InitializeFrom(reader, ref array[i]); } result = array; } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ASBStatus: InitializeFromArray. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } return result; } public void WriteArrayToStream(object graph, ref BinaryWriter bw) { if (graph == null || bw == null) { return; } try { if (graph is ASBStatus[] array) { bw.Write(array.Length); ASBStatus[] array2 = array; foreach (ASBStatus aSBStatus in array2) { aSBStatus.WriteToStream(bw); } } } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ASBStatus: WriteArrayTo. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } private static void InitializeFrom(BinaryReader reader, ref ASBStatus result) { if (MemoryStreamHelper.ValidateStream(reader)) { result.countField = reader.ReadSByte(); int num = reader.ReadInt32(); if (num > 0) { result.payloadField = reader.ReadBytes(num); } else { result.payloadField = null; } } } public ASBStatus(ArchestrAServices.Contract.ASBStatus oldStatus) { countField = (sbyte)oldStatus.Count; payloadField = oldStatus.Payload; } }