From a86b71899ec52c44ddc6c3018e8cc5e9d7ff4d62 Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Thu, 27 Dec 2018 18:27:57 -0500 Subject: Add GPL modules --- .../Serialization/IJsonSerializer.cs | 91 ++++++++++++++++++++++ MediaBrowser.Model/Serialization/IXmlSerializer.cs | 46 +++++++++++ .../Serialization/IgnoreDataMemberAttribute.cs | 12 +++ 3 files changed, 149 insertions(+) create mode 100644 MediaBrowser.Model/Serialization/IJsonSerializer.cs create mode 100644 MediaBrowser.Model/Serialization/IXmlSerializer.cs create mode 100644 MediaBrowser.Model/Serialization/IgnoreDataMemberAttribute.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..a582beb7f --- /dev/null +++ b/MediaBrowser.Model/Serialization/IJsonSerializer.cs @@ -0,0 +1,91 @@ +using System; +using System.IO; +using System.Threading.Tasks; + +namespace MediaBrowser.Model.Serialization +{ + public interface IJsonSerializer + { + /// + /// Serializes to stream. + /// + /// The obj. + /// The stream. + /// obj + void SerializeToStream(object obj, Stream stream); + + /// + /// Serializes to file. + /// + /// The obj. + /// The file. + /// obj + void SerializeToFile(object obj, string file); + + /// + /// 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(object obj); + + Task DeserializeFromStreamAsync(Stream stream, Type type); + Task DeserializeFromStreamAsync(Stream stream); + } +} diff --git a/MediaBrowser.Model/Serialization/IXmlSerializer.cs b/MediaBrowser.Model/Serialization/IXmlSerializer.cs new file mode 100644 index 000000000..b26b673f3 --- /dev/null +++ b/MediaBrowser.Model/Serialization/IXmlSerializer.cs @@ -0,0 +1,46 @@ +using System; +using System.IO; + +namespace MediaBrowser.Model.Serialization +{ + public interface IXmlSerializer + { + /// + /// 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); + + /// + /// 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); + } +} \ No newline at end of file diff --git a/MediaBrowser.Model/Serialization/IgnoreDataMemberAttribute.cs b/MediaBrowser.Model/Serialization/IgnoreDataMemberAttribute.cs new file mode 100644 index 000000000..8e23edc24 --- /dev/null +++ b/MediaBrowser.Model/Serialization/IgnoreDataMemberAttribute.cs @@ -0,0 +1,12 @@ +using System; + +namespace MediaBrowser.Model.Serialization +{ + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = false, AllowMultiple = false)] + public sealed class IgnoreDataMemberAttribute : Attribute + { + public IgnoreDataMemberAttribute() + { + } + } +} -- cgit v1.2.3