From 8ce3e74e8112a94773df22827849bf274fc88198 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sun, 24 Feb 2013 16:53:54 -0500 Subject: More DI --- .../Serialization/IJsonSerializer.cs | 103 +++++++++++++++++++++ .../Serialization/IProtobufSerializer.cs | 63 +++++++++++++ MediaBrowser.Model/Serialization/IXmlSerializer.cs | 69 ++++++++++++++ 3 files changed, 235 insertions(+) create mode 100644 MediaBrowser.Model/Serialization/IJsonSerializer.cs create mode 100644 MediaBrowser.Model/Serialization/IProtobufSerializer.cs create mode 100644 MediaBrowser.Model/Serialization/IXmlSerializer.cs (limited to 'MediaBrowser.Model/Serialization') diff --git a/MediaBrowser.Model/Serialization/IJsonSerializer.cs b/MediaBrowser.Model/Serialization/IJsonSerializer.cs new file mode 100644 index 000000000..056389d2e --- /dev/null +++ b/MediaBrowser.Model/Serialization/IJsonSerializer.cs @@ -0,0 +1,103 @@ +using System; +using System.IO; + +namespace MediaBrowser.Model.Serialization +{ + public interface IJsonSerializer + { + /// + /// Serializes to stream. + /// + /// + /// The obj. + /// The stream. + /// obj + void SerializeToStream(T obj, Stream stream) + where T : class; + + /// + /// Serializes to file. + /// + /// + /// The obj. + /// The file. + /// obj + void SerializeToFile(T obj, string file) + where T : class; + + /// + /// Deserializes from file. + /// + /// The type. + /// The file. + /// System.Object. + /// type + object DeserializeFromFile(Type type, string file); + + /// + /// Deserializes from file. + /// + /// + /// The file. + /// ``0. + /// file + T DeserializeFromFile(string file) + where T : class; + + /// + /// Deserializes from stream. + /// + /// + /// The stream. + /// ``0. + /// stream + T DeserializeFromStream(Stream stream); + + /// + /// Deserializes from string. + /// + /// + /// The text. + /// ``0. + /// text + T DeserializeFromString(string text); + + /// + /// Deserializes from stream. + /// + /// The stream. + /// The type. + /// System.Object. + /// stream + object DeserializeFromStream(Stream stream, Type type); + + /// + /// Deserializes from string. + /// + /// The json. + /// The type. + /// System.Object. + /// json + object DeserializeFromString(string json, Type type); + + /// + /// Serializes to string. + /// + /// + /// The obj. + /// System.String. + /// obj + string SerializeToString(T obj) + where T : class; + + /// + /// Serializes to bytes. + /// + /// + /// The obj. + /// System.Byte[][]. + /// obj + byte[] SerializeToBytes(T obj) + where T : class; + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/Serialization/IProtobufSerializer.cs b/MediaBrowser.Model/Serialization/IProtobufSerializer.cs new file mode 100644 index 000000000..4c3ef6960 --- /dev/null +++ b/MediaBrowser.Model/Serialization/IProtobufSerializer.cs @@ -0,0 +1,63 @@ +using System; +using System.IO; + +namespace MediaBrowser.Model.Serialization +{ + public interface IProtobufSerializer + { + /// + /// Serializes to stream. + /// + /// The obj. + /// The stream. + /// obj + void SerializeToStream(object obj, Stream stream); + + /// + /// Deserializes from stream. + /// + /// The stream. + /// The type. + /// System.Object. + /// stream + object DeserializeFromStream(Stream stream, Type type); + + /// + /// Deserializes from stream. + /// + /// + /// The stream. + /// ``0. + T DeserializeFromStream(Stream stream) + where T : class; + + /// + /// Serializes to file. + /// + /// + /// The obj. + /// The file. + /// file + void SerializeToFile(T obj, string file); + + /// + /// Deserializes from file. + /// + /// + /// The file. + /// ``0. + /// file + T DeserializeFromFile(string file) + where T : class; + + /// + /// Serializes to bytes. + /// + /// + /// The obj. + /// System.Byte[][]. + /// obj + byte[] SerializeToBytes(T obj) + where T : class; + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/Serialization/IXmlSerializer.cs b/MediaBrowser.Model/Serialization/IXmlSerializer.cs new file mode 100644 index 000000000..1d0e0302b --- /dev/null +++ b/MediaBrowser.Model/Serialization/IXmlSerializer.cs @@ -0,0 +1,69 @@ +using System; +using System.IO; + +namespace MediaBrowser.Model.Serialization +{ + public interface IXmlSerializer + { + /// + /// Deserializes from stream. + /// + /// + /// The stream. + /// ``0. + T DeserializeFromStream(Stream stream); + + /// + /// Deserializes from stream. + /// + /// The type. + /// The stream. + /// System.Object. + object DeserializeFromStream(Type type, Stream stream); + + /// + /// Serializes to stream. + /// + /// The obj. + /// The stream. + void SerializeToStream(object obj, Stream stream); + + /// + /// Deserializes from file. + /// + /// + /// The file. + /// ``0. + T DeserializeFromFile(string file); + + /// + /// Serializes to file. + /// + /// The obj. + /// The file. + void SerializeToFile(object obj, string file); + + /// + /// Deserializes from file. + /// + /// The type. + /// The file. + /// System.Object. + object DeserializeFromFile(Type type, string file); + + /// + /// Deserializes from bytes. + /// + /// The type. + /// The buffer. + /// System.Object. + object DeserializeFromBytes(Type type, byte[] buffer); + + /// + /// Serializes to bytes. + /// + /// The obj. + /// System.Byte[][]. + byte[] SerializeToBytes(object obj); + } +} \ No newline at end of file -- cgit v1.2.3