From e8639505a1266485defb4172390b60f30a880a41 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Tue, 14 Jun 2022 15:01:24 +0200 Subject: [PATCH] add api version --- Glamourer/Api/GlamourerIpc.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Glamourer/Api/GlamourerIpc.cs b/Glamourer/Api/GlamourerIpc.cs index 6213d96..fb57924 100644 --- a/Glamourer/Api/GlamourerIpc.cs +++ b/Glamourer/Api/GlamourerIpc.cs @@ -10,6 +10,7 @@ namespace Glamourer.Api { public class GlamourerIpc : IDisposable { + public const string LabelProviderApiVersion = "Glamourer.ApiVersion"; public const string LabelProviderGetCharacterCustomization = "Glamourer.GetCharacterCustomization"; public const string LabelProviderApplyCharacterCustomization = "Glamourer.ApplyCharacterCustomization"; private readonly ClientState clientState; @@ -18,6 +19,7 @@ namespace Glamourer.Api internal ICallGateProvider? ProviderGetCharacterCustomization; internal ICallGateProvider? ProviderApplyCharacterCustomization; + internal ICallGateProvider? ProviderGetApiVersion; public GlamourerIpc(ClientState clientState, ObjectTable objectTable, DalamudPluginInterface pluginInterface) { @@ -37,10 +39,21 @@ namespace Glamourer.Api { ProviderApplyCharacterCustomization?.UnregisterFunc(); ProviderGetCharacterCustomization?.UnregisterAction(); + ProviderGetApiVersion?.UnregisterFunc(); } private void InitializeProviders() { + try + { + ProviderGetApiVersion = pluginInterface.GetIpcProvider(LabelProviderApiVersion); + ProviderGetApiVersion.RegisterFunc(GetApiVersion); + } + catch (Exception ex) + { + PluginLog.Error(ex, $"Error registering IPC provider for {LabelProviderApiVersion}."); + } + try { ProviderGetCharacterCustomization = pluginInterface.GetIpcProvider(LabelProviderGetCharacterCustomization); @@ -62,6 +75,8 @@ namespace Glamourer.Api } } + private int GetApiVersion() => 0; + private void ApplyCharacterCustomization(string customization, string characterName) { var save = CharacterSave.FromString(customization);