From 0fb0d52a4c5732eb254e1f778835a28efddccf5f Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Wed, 5 Sep 2012 19:40:44 -0400 Subject: Made a separate ApiInteraction solution with platform-specific builds --- MediaBrowser.ApiInteraction/DataSerializer.cs | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 MediaBrowser.ApiInteraction/DataSerializer.cs (limited to 'MediaBrowser.ApiInteraction/DataSerializer.cs') diff --git a/MediaBrowser.ApiInteraction/DataSerializer.cs b/MediaBrowser.ApiInteraction/DataSerializer.cs new file mode 100644 index 000000000..15039cd45 --- /dev/null +++ b/MediaBrowser.ApiInteraction/DataSerializer.cs @@ -0,0 +1,49 @@ +using System; +using System.IO; +using ProtoBuf; +using ServiceStack.Text; + +namespace MediaBrowser.ApiInteraction +{ + public static class DataSerializer + { + public static T DeserializeJsonFromStream(Stream stream) + { + return JsonSerializer.DeserializeFromStream(stream); + } + + public static T DeserializeJsvFromStream(Stream stream) + { + return TypeSerializer.DeserializeFromStream(stream); + } + + public static object DeserializeJsvFromStream(Stream stream, Type type) + { + return TypeSerializer.DeserializeFromStream(type, stream); + } + + public static object DeserializeJsonFromStream(Stream stream, Type type) + { + return JsonSerializer.DeserializeFromStream(type, stream); + } + + public static T DeserializeProtobufFromStream(Stream stream) + { + return Serializer.Deserialize(stream); + } + + public static void Configure() + { + JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601; + JsConfig.ExcludeTypeInfo = true; + JsConfig.IncludeNullValues = false; + } + } + + public enum SerializationFormat + { + Json, + Jsv, + Protobuf + } +} -- cgit v1.2.3