public static List <EventSet> CreateEventSetsFromStream(Stream stream, PayloadFormat format) { IPayloadReader reader = null; if (format == PayloadFormat.Binary) { reader = new BinaryPayloadReader(stream); } else { reader = new JsonPayloadReader(stream); } return(reader.ReadList <EventSet>(string.Empty)); }
public void ReadList(string name, Action <IPayloadReader> readFunc) { JSArray array = ReadArrayToken(name); foreach (var tok in array) { JSObject jobj = tok as JSObject; if (jobj != null) { // Create an object that can read from this token: JsonPayloadReader reader = new JsonPayloadReader(jobj); readFunc(reader); } } }
public T ReadObject <T>(string name) where T : ISharedObjectSerializable, new() { JsonPayloadReader reader = this; if (!string.IsNullOrEmpty(name)) { JSObject tok = this.jsObject[name]; if (tok == null) { return(default(T)); } reader = new JsonPayloadReader(tok); } T value = new T(); // Deserialize using a reader based on the sub-object value.Deserialize(reader); return(value); }