public override object Deserialize(TextReader tr) { if (tr == null) { return(null); } using (tr) { var ctx = SerializationContext; var contents = tr.ReadToEnd(); using (var normalized = TextUtil.Normalize(contents, ctx)) { var lexer = new IcalLexer(normalized); var parser = new IcalParser(lexer); // Parse the iCalendar(s)! var iCalendars = parser.icalendar(SerializationContext); // Return the parsed iCalendar(s) return(iCalendars); } } }
public override object Deserialize(TextReader tr) { if (tr == null) { return(null); } using (tr) { var ctx = SerializationContext; var contents = tr.ReadToEnd(); using (var normalized = TextUtil.Normalize(contents, ctx)) { // Create a lexer for our text stream var lexer = new IcalLexer(normalized); var parser = new IcalParser(lexer); // Get a serializer factory from our serialization services var sf = GetService <ISerializerFactory>(); // Get a calendar component factory from our serialization services var cf = GetService <ICalendarComponentFactory>(); var parsedComponent = parser.component(ctx, sf, cf, null); return(parsedComponent); } } }
public override object Deserialize(TextReader tr) { using (tr) { var lexer = new IcalLexer(tr); var parser = new IcalParser(lexer); var p = parser.parameter(SerializationContext, null); return(p); } }