diff options
| author | Bond_009 <bond.009@outlook.com> | 2019-09-25 13:24:39 +0200 |
|---|---|---|
| committer | Bond_009 <Bond.009@outlook.com> | 2019-10-29 17:56:05 +0100 |
| commit | 016be02cd68aa0a09270d93b8df782d012f8a478 (patch) | |
| tree | 1b4f6a0a4d49a4827664b809710aa691f374c756 /Emby.Server.Implementations/Serialization/XmlSerializer.cs | |
| parent | d9a03c9bb120cada54729d314a204a63fbf607b5 (diff) | |
More warning fixes
Diffstat (limited to 'Emby.Server.Implementations/Serialization/XmlSerializer.cs')
| -rw-r--r-- | Emby.Server.Implementations/Serialization/XmlSerializer.cs | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/Emby.Server.Implementations/Serialization/XmlSerializer.cs b/Emby.Server.Implementations/Serialization/XmlSerializer.cs deleted file mode 100644 index 6400ec16e..000000000 --- a/Emby.Server.Implementations/Serialization/XmlSerializer.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Xml; -using System.Xml.Serialization; -using MediaBrowser.Model.IO; -using MediaBrowser.Model.Serialization; -using Microsoft.Extensions.Logging; - -namespace Emby.Server.Implementations.Serialization -{ - /// <summary> - /// Provides a wrapper around third party xml serialization. - /// </summary> - public class MyXmlSerializer : IXmlSerializer - { - private readonly IFileSystem _fileSystem; - private readonly ILogger _logger; - - public MyXmlSerializer( - IFileSystem fileSystem, - ILoggerFactory loggerFactory) - { - _fileSystem = fileSystem; - _logger = loggerFactory.CreateLogger("XmlSerializer"); - } - - // Need to cache these - // http://dotnetcodebox.blogspot.com/2013/01/xmlserializer-class-may-result-in.html - private readonly Dictionary<string, XmlSerializer> _serializers = - new Dictionary<string, XmlSerializer>(); - - private XmlSerializer GetSerializer(Type type) - { - var key = type.FullName; - lock (_serializers) - { - if (!_serializers.TryGetValue(key, out var serializer)) - { - serializer = new XmlSerializer(type); - _serializers[key] = serializer; - } - return serializer; - } - } - - /// <summary> - /// Serializes to writer. - /// </summary> - /// <param name="obj">The obj.</param> - /// <param name="writer">The writer.</param> - private void SerializeToWriter(object obj, XmlWriter writer) - { - var netSerializer = GetSerializer(obj.GetType()); - netSerializer.Serialize(writer, obj); - } - - /// <summary> - /// Deserializes from stream. - /// </summary> - /// <param name="type">The type.</param> - /// <param name="stream">The stream.</param> - /// <returns>System.Object.</returns> - public object DeserializeFromStream(Type type, Stream stream) - { - using (var reader = XmlReader.Create(stream)) - { - var netSerializer = GetSerializer(type); - return netSerializer.Deserialize(reader); - } - } - - /// <summary> - /// Serializes to stream. - /// </summary> - /// <param name="obj">The obj.</param> - /// <param name="stream">The stream.</param> - public void SerializeToStream(object obj, Stream stream) - { - using (var writer = new XmlTextWriter(stream, null)) - { - writer.Formatting = Formatting.Indented; - SerializeToWriter(obj, writer); - } - } - - /// <summary> - /// Serializes to file. - /// </summary> - /// <param name="obj">The obj.</param> - /// <param name="file">The file.</param> - public void SerializeToFile(object obj, string file) - { - _logger.LogDebug("Serializing to file {0}", file); - using (var stream = new FileStream(file, FileMode.Create)) - { - SerializeToStream(obj, stream); - } - } - - /// <summary> - /// Deserializes from file. - /// </summary> - /// <param name="type">The type.</param> - /// <param name="file">The file.</param> - /// <returns>System.Object.</returns> - public object DeserializeFromFile(Type type, string file) - { - _logger.LogDebug("Deserializing file {0}", file); - using (var stream = File.OpenRead(file)) - { - return DeserializeFromStream(type, stream); - } - } - - /// <summary> - /// Deserializes from bytes. - /// </summary> - /// <param name="type">The type.</param> - /// <param name="buffer">The buffer.</param> - /// <returns>System.Object.</returns> - public object DeserializeFromBytes(Type type, byte[] buffer) - { - using (var stream = new MemoryStream(buffer)) - { - return DeserializeFromStream(type, stream); - } - } - } -} |
