aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Serialization/XmlSerializer.cs
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2019-09-25 13:24:39 +0200
committerBond_009 <Bond.009@outlook.com>2019-10-29 17:56:05 +0100
commit016be02cd68aa0a09270d93b8df782d012f8a478 (patch)
tree1b4f6a0a4d49a4827664b809710aa691f374c756 /Emby.Server.Implementations/Serialization/XmlSerializer.cs
parentd9a03c9bb120cada54729d314a204a63fbf607b5 (diff)
More warning fixes
Diffstat (limited to 'Emby.Server.Implementations/Serialization/XmlSerializer.cs')
-rw-r--r--Emby.Server.Implementations/Serialization/XmlSerializer.cs130
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);
- }
- }
- }
-}