Use external library for API interface and IPC.

This commit is contained in:
Ottermandias 2022-10-08 02:02:33 +02:00
parent b3f048bfe6
commit 918d5db6a6
69 changed files with 4026 additions and 1873 deletions

81
tmp/Ipc/Mods.cs Normal file
View file

@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using Dalamud.Plugin;
using Penumbra.Api.Enums;
using Penumbra.Api.Helpers;
namespace Penumbra.Api;
public static partial class Ipc
{
public static class GetMods
{
public const string Label = $"Penumbra.{nameof( GetMods )}";
public static FuncProvider< IList< (string, string) > > Provider( DalamudPluginInterface pi, Func< IList< (string, string) > > func )
=> new(pi, Label, func);
public static FuncSubscriber< IList< (string, string) > > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class ReloadMod
{
public const string Label = $"Penumbra.{nameof( ReloadMod )}";
public static FuncProvider< string, string, PenumbraApiEc > Provider( DalamudPluginInterface pi,
Func< string, string, PenumbraApiEc > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, string, PenumbraApiEc > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class AddMod
{
public const string Label = $"Penumbra.{nameof( AddMod )}";
public static FuncProvider< string, PenumbraApiEc > Provider( DalamudPluginInterface pi,
Func< string, PenumbraApiEc > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, PenumbraApiEc > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class DeleteMod
{
public const string Label = $"Penumbra.{nameof( DeleteMod )}";
public static FuncProvider< string, string, PenumbraApiEc > Provider( DalamudPluginInterface pi,
Func< string, string, PenumbraApiEc > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, string, PenumbraApiEc > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetModPath
{
public const string Label = $"Penumbra.{nameof( GetModPath )}";
public static FuncProvider< string, string, (PenumbraApiEc, string, bool) > Provider( DalamudPluginInterface pi,
Func< string, string, (PenumbraApiEc, string, bool) > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, string, (PenumbraApiEc, string, bool) > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class SetModPath
{
public const string Label = $"Penumbra.{nameof( SetModPath )}";
public static FuncProvider< string, string, string, PenumbraApiEc > Provider( DalamudPluginInterface pi,
Func< string, string, string, PenumbraApiEc > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, string, string, PenumbraApiEc > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
}