Penumbra/tmp/Ipc/Collection.cs
2022-10-08 02:02:44 +02:00

76 lines
No EOL
2.7 KiB
C#

using System;
using System.Collections.Generic;
using Dalamud.Plugin;
using Penumbra.Api.Helpers;
namespace Penumbra.Api;
public static partial class Ipc
{
public static class GetCollections
{
public const string Label = $"Penumbra.{nameof( GetCollections )}";
public static FuncProvider< IList< string > > Provider( DalamudPluginInterface pi, Func< IList< string > > func )
=> new(pi, Label, func);
public static FuncSubscriber< IList< string > > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetCurrentCollectionName
{
public const string Label = $"Penumbra.{nameof( GetCurrentCollectionName )}";
public static FuncProvider< string > Provider( DalamudPluginInterface pi, Func< string > func )
=> new(pi, Label, func);
public static FuncSubscriber< string > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetDefaultCollectionName
{
public const string Label = $"Penumbra.{nameof( GetDefaultCollectionName )}";
public static FuncProvider< string > Provider( DalamudPluginInterface pi, Func< string > func )
=> new(pi, Label, func);
public static FuncSubscriber< string > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetInterfaceCollectionName
{
public const string Label = $"Penumbra.{nameof( GetInterfaceCollectionName )}";
public static FuncProvider< string > Provider( DalamudPluginInterface pi, Func< string > func )
=> new(pi, Label, func);
public static FuncSubscriber< string > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetCharacterCollectionName
{
public const string Label = $"Penumbra.{nameof( GetCharacterCollectionName )}";
public static FuncProvider< string, (string, bool) > Provider( DalamudPluginInterface pi, Func< string, (string, bool) > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, (string, bool) > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
public static class GetChangedItems
{
public const string Label = $"Penumbra.{nameof( GetChangedItems )}";
public static FuncProvider< string, IReadOnlyDictionary< string, object? > > Provider( DalamudPluginInterface pi,
Func< string, IReadOnlyDictionary< string, object? > > func )
=> new(pi, Label, func);
public static FuncSubscriber< string, IReadOnlyDictionary< string, object? > > Subscriber( DalamudPluginInterface pi )
=> new(pi, Label);
}
}