mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 10:17:22 +01:00
Add SpecialPluginSource to public API (#1357)
This commit is contained in:
parent
37cb1f5dd0
commit
1dbf93e428
4 changed files with 22 additions and 17 deletions
|
|
@ -56,7 +56,7 @@ public sealed class DalamudPluginInterface : IDisposable
|
|||
|
||||
this.configs = Service<PluginManager>.Get().PluginConfigs;
|
||||
this.Reason = reason;
|
||||
this.SourceRepository = this.IsDev ? LocalPluginManifest.FlagDevPlugin : plugin.Manifest.InstalledFromUrl;
|
||||
this.SourceRepository = this.IsDev ? SpecialPluginSource.DevPlugin : plugin.Manifest.InstalledFromUrl;
|
||||
this.IsTesting = plugin.IsTesting;
|
||||
|
||||
this.LoadTime = DateTime.Now;
|
||||
|
|
@ -118,8 +118,8 @@ public sealed class DalamudPluginInterface : IDisposable
|
|||
/// Gets the repository from which this plugin was installed.
|
||||
///
|
||||
/// If a plugin was installed from the official/main repository, this will return the value of
|
||||
/// <see cref="LocalPluginManifest.FlagMainRepo"/>. Developer plugins will return the value of
|
||||
/// <see cref="LocalPluginManifest.FlagDevPlugin"/>.
|
||||
/// <see cref="SpecialPluginSource.MainRepo"/>. Developer plugins will return the value of
|
||||
/// <see cref="SpecialPluginSource.DevPlugin"/>.
|
||||
/// </summary>
|
||||
public string SourceRepository { get; }
|
||||
|
||||
|
|
|
|||
|
|
@ -873,7 +873,7 @@ internal partial class PluginManager : IDisposable, IServiceType
|
|||
}
|
||||
|
||||
// Document the url the plugin was installed from
|
||||
manifest.InstalledFromUrl = repoManifest.SourceRepo.IsThirdParty ? repoManifest.SourceRepo.PluginMasterUrl : LocalPluginManifest.FlagMainRepo;
|
||||
manifest.InstalledFromUrl = repoManifest.SourceRepo.IsThirdParty ? repoManifest.SourceRepo.PluginMasterUrl : SpecialPluginSource.MainRepo;
|
||||
|
||||
manifest.Save(manifestFile, "installation");
|
||||
|
||||
|
|
|
|||
|
|
@ -13,18 +13,6 @@ namespace Dalamud.Plugin.Internal.Types.Manifest;
|
|||
/// </summary>
|
||||
internal record LocalPluginManifest : PluginManifest, ILocalPluginManifest
|
||||
{
|
||||
/// <summary>
|
||||
/// Flag indicating that a plugin was installed from the official repo.
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public const string FlagMainRepo = "OFFICIAL";
|
||||
|
||||
/// <summary>
|
||||
/// Flag indicating that a plugin is a dev plugin..
|
||||
/// </summary>
|
||||
[JsonIgnore]
|
||||
public const string FlagDevPlugin = "DEVPLUGIN";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether the plugin is disabled and should not be loaded.
|
||||
/// This value supersedes the ".disabled" file functionality and should not be included in the plugin master.
|
||||
|
|
@ -51,7 +39,7 @@ internal record LocalPluginManifest : PluginManifest, ILocalPluginManifest
|
|||
/// Gets a value indicating whether this manifest is associated with a plugin that was installed from a third party
|
||||
/// repo. Unless the manifest has been manually modified, this is determined by the InstalledFromUrl being null.
|
||||
/// </summary>
|
||||
public bool IsThirdParty => !this.InstalledFromUrl.IsNullOrEmpty() && this.InstalledFromUrl != FlagMainRepo;
|
||||
public bool IsThirdParty => !this.InstalledFromUrl.IsNullOrEmpty() && this.InstalledFromUrl != SpecialPluginSource.MainRepo;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the effective version of this plugin.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
namespace Dalamud.Plugin.Internal.Types.Manifest;
|
||||
|
||||
/// <summary>
|
||||
/// A fake enum representing "special" sources for plugins.
|
||||
/// </summary>
|
||||
public static class SpecialPluginSource
|
||||
{
|
||||
/// <summary>
|
||||
/// Indication that this plugin came from the official Dalamud repository.
|
||||
/// </summary>
|
||||
public const string MainRepo = "OFFICIAL";
|
||||
|
||||
/// <summary>
|
||||
/// Indication that this plugin is loaded as a dev plugin. See also <see cref="DalamudPluginInterface.IsDev"/>.
|
||||
/// </summary>
|
||||
public const string DevPlugin = "DEVPLUGIN";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue