Initial upload

This commit is contained in:
Greenback
2020-12-06 23:48:54 +00:00
parent f2c2beca0f
commit 7986465cf7
34 changed files with 1726 additions and 755 deletions

View File

@@ -449,5 +449,15 @@ namespace MediaBrowser.Model.Configuration
/// Gets or sets the how many metadata refreshes can run concurrently.
/// </summary>
public int LibraryMetadataRefreshConcurrency { get; set; }
/// <summary>
/// Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder.
/// </summary>
public bool RemoveOldPlugins { get; set; }
/// <summary>
/// Gets or sets a value indicating whether plugin image should be disabled.
/// </summary>
public bool DisablePluginImages { get; set; }
}
}

View File

@@ -1,4 +1,7 @@
#nullable disable
#nullable enable
using System;
namespace MediaBrowser.Model.Plugins
{
/// <summary>
@@ -6,34 +9,46 @@ namespace MediaBrowser.Model.Plugins
/// </summary>
public class PluginInfo
{
/// <summary>
/// Initializes a new instance of the <see cref="PluginInfo"/> class.
/// </summary>
/// <param name="name">The plugin name.</param>
/// <param name="version">The plugin <see cref="Version"/>.</param>
/// <param name="description">The plugin description.</param>
/// <param name="id">The <see cref="Guid"/>.</param>
/// <param name="canUninstall">True if this plugin can be uninstalled.</param>
public PluginInfo(string name, Version version, string description, Guid id, bool canUninstall)
{
Name = name;
Version = version?.ToString() ?? throw new ArgumentNullException(nameof(version));
Description = description;
Id = id.ToString();
CanUninstall = canUninstall;
}
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
public string Name { get; set; }
/// <summary>
/// Gets or sets the version.
/// </summary>
/// <value>The version.</value>
public string Version { get; set; }
/// <summary>
/// Gets or sets the name of the configuration file.
/// </summary>
/// <value>The name of the configuration file.</value>
public string ConfigurationFileName { get; set; }
public string? ConfigurationFileName { get; set; }
/// <summary>
/// Gets or sets the description.
/// </summary>
/// <value>The description.</value>
public string Description { get; set; }
/// <summary>
/// Gets or sets the unique id.
/// </summary>
/// <value>The unique id.</value>
public string Id { get; set; }
/// <summary>
@@ -42,9 +57,13 @@ namespace MediaBrowser.Model.Plugins
public bool CanUninstall { get; set; }
/// <summary>
/// Gets or sets the image URL.
/// Gets or sets a value indicating whether this plugin has a valid image.
/// </summary>
/// <value>The image URL.</value>
public string ImageUrl { get; set; }
public bool HasImage { get; set; }
/// <summary>
/// Gets or sets a value indicating the status of the plugin.
/// </summary>
public PluginStatus Status { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
#pragma warning disable SA1602 // Enumeration items should be documented
namespace MediaBrowser.Model.Plugins
{
/// <summary>
/// Plugin load status.
/// </summary>
public enum PluginStatus
{
RestartRequired = 1,
Active = 0,
Disabled = -1,
NotSupported = -2,
Malfunction = -3,
Superceded = -4
}
}

View File

@@ -1,4 +1,4 @@
#nullable disable
#nullable enable
using System;
using System.Collections.Generic;
@@ -9,55 +9,70 @@ namespace MediaBrowser.Model.Updates
/// </summary>
public class PackageInfo
{
/// <summary>
/// Initializes a new instance of the <see cref="PackageInfo"/> class.
/// </summary>
public PackageInfo()
{
Versions = Array.Empty<VersionInfo>();
Guid = string.Empty;
Category = string.Empty;
Name = string.Empty;
Overview = string.Empty;
Owner = string.Empty;
Description = string.Empty;
}
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
public string name { get; set; }
public string Name { get; set; }
/// <summary>
/// Gets or sets a long description of the plugin containing features or helpful explanations.
/// </summary>
/// <value>The description.</value>
public string description { get; set; }
public string Description { get; set; }
/// <summary>
/// Gets or sets a short overview of what the plugin does.
/// </summary>
/// <value>The overview.</value>
public string overview { get; set; }
public string Overview { get; set; }
/// <summary>
/// Gets or sets the owner.
/// </summary>
/// <value>The owner.</value>
public string owner { get; set; }
public string Owner { get; set; }
/// <summary>
/// Gets or sets the category.
/// </summary>
/// <value>The category.</value>
public string category { get; set; }
public string Category { get; set; }
/// <summary>
/// The guid of the assembly associated with this plugin.
/// Gets or sets the guid of the assembly associated with this plugin.
/// This is used to identify the proper item for automatic updates.
/// </summary>
/// <value>The name.</value>
public string guid { get; set; }
#pragma warning disable CA1720 // Identifier contains type name
public string Guid { get; set; }
#pragma warning restore CA1720 // Identifier contains type name
/// <summary>
/// Gets or sets the versions.
/// </summary>
/// <value>The versions.</value>
public IList<VersionInfo> versions { get; set; }
#pragma warning disable CA2227 // Collection properties should be read only
public IList<VersionInfo> Versions { get; set; }
#pragma warning restore CA2227 // Collection properties should be read only
/// <summary>
/// Initializes a new instance of the <see cref="PackageInfo"/> class.
/// Gets or sets the image url for the package.
/// </summary>
public PackageInfo()
{
versions = Array.Empty<VersionInfo>();
}
public string? ImageUrl { get; set; }
}
}

View File

@@ -1,6 +1,6 @@
#nullable disable
#nullable enable
using System;
using SysVersion = System.Version;
namespace MediaBrowser.Model.Updates
{
@@ -9,68 +9,68 @@ namespace MediaBrowser.Model.Updates
/// </summary>
public class VersionInfo
{
private Version _version;
private SysVersion? _version;
/// <summary>
/// Gets or sets the version.
/// </summary>
/// <value>The version.</value>
public string version
public string Version
{
get
{
return _version == null ? string.Empty : _version.ToString();
}
get => _version == null ? string.Empty : _version.ToString();
set
{
_version = Version.Parse(value);
}
set => _version = SysVersion.Parse(value);
}
/// <summary>
/// Gets the version as a <see cref="Version"/>.
/// Gets the version as a <see cref="SysVersion"/>.
/// </summary>
public Version VersionNumber => _version;
public SysVersion VersionNumber => _version ?? new SysVersion(0, 0, 0);
/// <summary>
/// Gets or sets the changelog for this version.
/// </summary>
/// <value>The changelog.</value>
public string changelog { get; set; }
public string? Changelog { get; set; }
/// <summary>
/// Gets or sets the ABI that this version was built against.
/// </summary>
/// <value>The target ABI version.</value>
public string targetAbi { get; set; }
public string? TargetAbi { get; set; }
/// <summary>
/// Gets or sets the maximum ABI that this version will work with.
/// </summary>
/// <value>The target ABI version.</value>
public string? MaxAbi { get; set; }
/// <summary>
/// Gets or sets the source URL.
/// </summary>
/// <value>The source URL.</value>
public string sourceUrl { get; set; }
public string? SourceUrl { get; set; }
/// <summary>
/// Gets or sets a checksum for the binary.
/// </summary>
/// <value>The checksum.</value>
public string checksum { get; set; }
public string? Checksum { get; set; }
/// <summary>
/// Gets or sets a timestamp of when the binary was built.
/// </summary>
/// <value>The timestamp.</value>
public string timestamp { get; set; }
public string? Timestamp { get; set; }
/// <summary>
/// Gets or sets the repository name.
/// </summary>
public string repositoryName { get; set; }
public string RepositoryName { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the repository url.
/// </summary>
public string repositoryUrl { get; set; }
public string RepositoryUrl { get; set; } = string.Empty;
}
}