af1152b001
Refactored all C# test files to use explicit namespace declarations and moved all using directives inside the namespace block for consistency. Updated assembly info and cache files to reflect the new build. Adjusted MvcTestingAppManifest.json to use fully qualified assembly names. No functional changes; all updates are related to code style, organization, and project metadata.
122 lines
3.8 KiB
C#
122 lines
3.8 KiB
C#
// <copyright file="PluginManifest.cs" company="PlaceholderCompany">
|
|
// Copyright (c) PlaceholderCompany. All rights reserved.
|
|
// </copyright>
|
|
|
|
namespace MediaBrowser.Common.Plugins
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text.Json.Serialization;
|
|
using MediaBrowser.Model.Plugins;
|
|
|
|
/// <summary>
|
|
/// Defines a Plugin manifest file.
|
|
/// </summary>
|
|
public class PluginManifest
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="PluginManifest"/> class.
|
|
/// </summary>
|
|
public PluginManifest()
|
|
{
|
|
Category = string.Empty;
|
|
Changelog = string.Empty;
|
|
Description = string.Empty;
|
|
Id = Guid.Empty;
|
|
Name = string.Empty;
|
|
Owner = string.Empty;
|
|
Overview = string.Empty;
|
|
TargetAbi = string.Empty;
|
|
Version = string.Empty;
|
|
Assemblies = Array.Empty<string>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the category of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("category")]
|
|
public string Category { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the changelog information.
|
|
/// </summary>
|
|
[JsonPropertyName("changelog")]
|
|
public string Changelog { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the description of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("description")]
|
|
public string Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the Global Unique Identifier for the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("guid")]
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the Name of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("name")]
|
|
public string Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets an overview of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("overview")]
|
|
public string Overview { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the owner of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("owner")]
|
|
public string Owner { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the compatibility version for the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("targetAbi")]
|
|
public string TargetAbi { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the timestamp of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("timestamp")]
|
|
public DateTime Timestamp { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the Version number of the plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("version")]
|
|
public string Version { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating the operational status of this plugin.
|
|
/// </summary>
|
|
[JsonPropertyName("status")]
|
|
public PluginStatus Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating whether this plugin should automatically update.
|
|
/// </summary>
|
|
[JsonPropertyName("autoUpdate")]
|
|
public bool AutoUpdate { get; set; } = true; // DO NOT MOVE THIS INTO THE CONSTRUCTOR.
|
|
|
|
/// <summary>
|
|
/// Gets or sets the ImagePath
|
|
/// Gets or sets a value indicating whether this plugin has an image.
|
|
/// Image must be located in the local plugin folder.
|
|
/// </summary>
|
|
[JsonPropertyName("imagePath")]
|
|
public string? ImagePath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the collection of assemblies that should be loaded.
|
|
/// Paths are considered relative to the plugin folder.
|
|
/// </summary>
|
|
[JsonPropertyName("assemblies")]
|
|
public IReadOnlyList<string> Assemblies { get; set; }
|
|
}
|
|
}
|