public void ToWriter(DataFrames.DataWriter writer, DataFrames.DataKey root, Utils.Logger logger) { foreach (DataNode node in root.SubNodes) { writer.Write(node.ToArray()); } }
public byte[] ToArray(DataFrames.DataKey root, Utils.Logger logger) { DataValue value = root.SelectSingleNode("xml") as DataValue; byte[] ret = new byte[0]; if (value != null) { if (!Config.NoEncode) { XmlDocument doc = new XmlDocument(); doc.LoadXml(value.Value.ToString()); MemoryStream stm = new MemoryStream(); XmlDictionaryWriter writer = XmlDictionaryWriter.CreateBinaryWriter(stm, wcfDictionary); doc.Save(writer); writer.Flush(); ret = stm.ToArray(); } else { ret = new BinaryEncoding().GetBytes(value.Value.ToString()); } } return(ret); }
public void FromReader(DataReader reader, DataFrames.DataKey root, Utils.Logger logger) { IStreamTypeParser parser = new T(); StateDictionary state = new StateDictionary(); try { // Reset byte count reader.ByteCount = 0; parser.FromStream(reader, state, logger); ObjectConverter.ToNode(root, parser, _derivedTypes); } catch (ThreadAbortException) { throw; } catch (Exception ex) { if (!(ex is EndOfStreamException) || (reader.ByteCount != 0)) { logger.LogError(CANAPE.Parser.Properties.Resources.GenericStreamParser_ReadException, ex.Message, typeof(T).Name); } throw; } }
public void FromString(string data, DataFrames.DataKey root, Utils.Logger logger) { string[] cookies = data.Split(';'); foreach (string cookie in cookies) { AddCookie(cookie, root, logger); } }
public string ToDisplayString(DataFrames.DataKey root, Utils.Logger logger) { DataValue value = root.SelectSingleNode("xml") as DataValue; if (value != null) { return(value.ToString()); } return(String.Empty); }
public string ToDisplayString(DataFrames.DataKey root, Utils.Logger logger) { DataNode node = root.SelectSingleNode("Data"); if (node != null) { return(node.ToString()); } else { return(String.Format("Type: {0} Little Endian: {1} Exclusive: {2}", Config.LengthType, Config.LittleEndian, Config.Inclusive)); } }
public void FromReader(DataReader reader, DataFrames.DataKey root, Utils.Logger logger) { if (Config.PrefixLen > 0) { root.AddValue("Prefix", reader.ReadBytes(Config.PrefixLen, true)); } ulong length = ReadLength(reader, logger); logger.LogVerbose("Read length field of {0} bytes", length); byte[] data = reader.ReadBytes((int)(length * Config.Stride) + Config.Adjustment, true); root.AddValue("Data", data); }
public void FromReader(DataReader reader, DataFrames.DataKey root, Utils.Logger logger) { Asn1InputStream input = new Asn1InputStream(reader.GetStream()); Asn1Object obj = input.ReadObject(); if (obj == null) { throw new EndOfStreamException(); } while (obj != null) { AddAsn1Object(obj.GetType().Name, root, obj, 0, logger); obj = input.ReadObject(); } }
public void ToWriter(DataFrames.DataWriter writer, DataFrames.DataKey root, Utils.Logger logger) { StateDictionary state = new StateDictionary(); try { IStreamTypeParser parser = ObjectConverter.FromNode <T>(root, _derivedTypes); parser.ToStream(writer, state, logger); } catch (ThreadAbortException) { throw; } catch (Exception ex) { logger.LogError(CANAPE.Parser.Properties.Resources.GenericStreamParser_WriteException, ex.Message, typeof(T).Name); throw; } }
public void FromArray(byte[] data, DataFrames.DataKey root, Utils.Logger logger) { if (!Config.NoDecode) { XmlDictionaryReader reader = XmlDictionaryReader.CreateBinaryReader(data, 0, data.Length, wcfDictionary, XmlDictionaryReaderQuotas.Max); XmlDocument doc = new XmlDocument(); doc.Load(reader); StringWriter sWriter = new StringWriter(); XmlTextWriter writer = new XmlTextWriter(sWriter); writer.Formatting = Formatting.Indented; doc.WriteTo(writer); root.AddValue("xml", sWriter.ToString()); } else { root.AddValue("xml", new BinaryEncoding().GetString(data)); } }
public void ToWriter(DataFrames.DataWriter writer, DataFrames.DataKey root, Utils.Logger logger) { MemoryStream stm = new MemoryStream(); DataWriter w = new DataWriter(stm); foreach (DataNode node in root.SubNodes) { node.ToWriter(w); } byte[] data = stm.ToArray(); logger.LogVerbose("Writing length field of {0} bytes", data.Length); if ((data.Length % Config.Stride) != 0) { logger.LogWarning("Data length of {0} is not a multiple of stride {1}", data.Length, Config.Stride); } WriteLength(writer, (ulong)(data.Length - Config.Adjustment) / Config.Stride, logger); writer.Write(stm.ToArray()); }
public string ToDisplayString(DataFrames.DataKey root, Utils.Logger logger) { return(String.Format("Cookies: {0}", String.Join(", ", root.SubNodes.Select(n => n.Name)))); }
public string ToString(DataFrames.DataKey root, Utils.Logger logger) { return(String.Join("; ", root.SubNodes.Select(n => String.Format("{0}={1}", n.Name, n.ToDataString())))); }
public string ToDisplayString(DataFrames.DataKey root, Utils.Logger logger) { return("ASN1"); }