implement plugins section

This commit is contained in:
zznty
2022-10-04 19:31:59 +07:00
parent 7136a93c76
commit 1e29719125
9 changed files with 165 additions and 3 deletions

View File

@@ -0,0 +1,29 @@
using System.IO;
using System.IO.Compression;
using System.Xml.Serialization;
using Torch;
namespace TorchRemote.Plugin.Utils;
public static class PluginManifestUtils
{
private static readonly XmlSerializer Serializer = new(typeof(PluginManifest));
public static PluginManifest Read(Stream stream)
{
return (PluginManifest)Serializer.Deserialize(stream);
}
public static PluginManifest ReadFromZip(Stream stream)
{
using var archive = new ZipArchive(stream);
using var entryStream = archive.GetEntry("manifest.xml")!.Open();
return Read(entryStream);
}
public static PluginManifest ReadFromZip(string archivePath)
{
using var stream = File.OpenRead(archivePath);
return ReadFromZip(stream);
}
}