internal void WriteNextAttributeValue(object attributeValue) { ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "Write next attribute value"); BackSyncCookieAttribute backSyncCookieAttribute = this.attributeDefinitions[this.currentAttributeIndex]; ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, "Attribute {0}", backSyncCookieAttribute.ToString()); if (backSyncCookieAttribute.DataType.Equals(typeof(int))) { this.cookieBinaryWriter.Write((int)attributeValue); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Int32) = {0}", new object[] { attributeValue }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(long))) { this.cookieBinaryWriter.Write((long)attributeValue); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Int64) = {0}", new object[] { attributeValue }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(bool))) { this.cookieBinaryWriter.Write((bool)attributeValue); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Boolean) = {0}", new object[] { attributeValue }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(Guid))) { Guid arg = (Guid)attributeValue; this.cookieBinaryWriter.Write(arg.ToByteArray()); ExTraceGlobals.BackSyncTracer.TraceDebug <Guid>((long)SyncConfiguration.TraceId, "attributeValue (Guid) = {0}", arg); } else if (backSyncCookieAttribute.DataType.Equals(typeof(string))) { if (attributeValue != null) { this.cookieBinaryWriter.Write((string)attributeValue); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (string) = {0}", new object[] { attributeValue }); } else { this.cookieBinaryWriter.Write(string.Empty); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (string) = \"\""); } } else if (backSyncCookieAttribute.DataType.Equals(typeof(byte[]))) { if (attributeValue != null) { byte[] array = (byte[])attributeValue; this.cookieBinaryWriter.Write(array.Length); this.cookieBinaryWriter.Write(array); ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "attributeValue (byte[]) size = {0}", array.Length); ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, " Base64String {0}", Convert.ToBase64String(array)); } else { this.cookieBinaryWriter.Write(0); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (byte[]) size = 0"); } } else { if (!backSyncCookieAttribute.DataType.Equals(typeof(string[]))) { ExTraceGlobals.BackSyncTracer.TraceError <string>((long)SyncConfiguration.TraceId, "Invalid attribute data type {0}", backSyncCookieAttribute.DataType.Name); throw new InvalidCookieException(); } if (attributeValue != null) { string[] array2 = (string[])attributeValue; this.cookieBinaryWriter.Write(array2.Length); ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "attributeValue (string[]) size = {0}", array2.Length); foreach (string text in array2) { this.cookieBinaryWriter.Write(text); ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, " value[] = \"{0}\"", text); } } else { this.cookieBinaryWriter.Write(0); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (string[]) size = 0"); } } this.currentAttributeIndex++; }
// Token: 0x060061F5 RID: 25077 RVA: 0x0014F3B4 File Offset: 0x0014D5B4 internal object GetNextAttributeValue() { ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "Get next attribute value"); BackSyncCookieAttribute backSyncCookieAttribute = this.attributeDefinitions[this.currentAttributeIndex]; ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, "Attribute {0}", backSyncCookieAttribute.ToString()); object obj = backSyncCookieAttribute.DefaultValue; ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "this.cookieAttributeCount = {0}", this.cookieAttributeCount); ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "this.currentAttributeIndex = {0}", this.currentAttributeIndex); if (this.currentAttributeIndex < this.cookieAttributeCount) { if (backSyncCookieAttribute.DataType.Equals(typeof(int))) { obj = this.cookieBinaryReader.ReadInt32(); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Int32) = {0}", new object[] { obj }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(long))) { obj = this.cookieBinaryReader.ReadInt64(); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Int64) = {0}", new object[] { obj }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(bool))) { obj = this.cookieBinaryReader.ReadBoolean(); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Boolean) = {0}", new object[] { obj }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(Guid))) { obj = new Guid(this.cookieBinaryReader.ReadBytes(16)); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (Guid) = {0}", new object[] { obj }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(string))) { obj = this.cookieBinaryReader.ReadString(); ExTraceGlobals.BackSyncTracer.TraceDebug((long)SyncConfiguration.TraceId, "attributeValue (string) = {0}", new object[] { obj }); } else if (backSyncCookieAttribute.DataType.Equals(typeof(byte[]))) { int num = this.cookieBinaryReader.ReadInt32(); ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "attributeValue (bypte[]) size = {0}", num); if (num > 0) { obj = this.cookieBinaryReader.ReadBytes(num); ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, " Base64String {0}", Convert.ToBase64String((byte[])obj)); } else { obj = null; } } else { if (!backSyncCookieAttribute.DataType.Equals(typeof(string[]))) { ExTraceGlobals.BackSyncTracer.TraceError <string>((long)SyncConfiguration.TraceId, "Invalid attribute data type {0}", backSyncCookieAttribute.DataType.Name); throw new InvalidCookieException(); } int num2 = this.cookieBinaryReader.ReadInt32(); ExTraceGlobals.BackSyncTracer.TraceDebug <int>((long)SyncConfiguration.TraceId, "attributeValue (string[]) size = {0}", num2); if (num2 > 0) { List <string> list = new List <string>(); for (int i = 0; i < num2; i++) { string text = this.cookieBinaryReader.ReadString(); ExTraceGlobals.BackSyncTracer.TraceDebug <int, string>((long)SyncConfiguration.TraceId, " value[{0}] = \"{1}\"", i, text); list.Add(text); } obj = list.ToArray(); } else { obj = null; } } } else { obj = backSyncCookieAttribute.DefaultValue; ExTraceGlobals.BackSyncTracer.TraceDebug <string>((long)SyncConfiguration.TraceId, " attributeValue (Default) = {0}", (obj != null) ? obj.ToString() : "NULL"); } this.currentAttributeIndex++; return(obj); }