using Dalamud.Plugin.Ipc.Internal; using Dalamud.Utility; #pragma warning disable SA1402 // File may only contain a single type namespace Dalamud.Plugin.Ipc; /// /// The backing interface for the provider ("server") half of an IPC channel. This interface is used to expose methods /// to other plugins via RPC, as well as to allow other plugins to subscribe to notifications from this plugin. /// public interface ICallGateProvider { /// public int SubscriptionCount { get; } /// public void UnregisterAction(); /// public void UnregisterFunc(); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); } /// public interface ICallGateProvider : ICallGateProvider { /// public void RegisterAction(Action action); /// public void RegisterFunc(Func func); /// public void SendMessage(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); } #pragma warning restore SA1402 // File may only contain a single type