Interface ICallGateSubscriber<T1, T2, TRet>
This class facilitates inter-plugin communication.
Assembly: Dalamud.dll​
public interface ICallGateSubscriber<T1, T2, TRet> : ICallGateSubscriber
Methods​
Subscribe(Action<T1, T2>)​
Registers a System.Delegate (of type System.Action1) that will be called when the providing plugin calls Dalamud.Plugin.Ipc.ICallGateProvider1.SendMessage. This method can be used to receive notifications
of events or data updates from a specific plugin.
void Subscribe(Action<T1, T2> action)
Parameters​
| Type | Name | Description |
|---|---|---|
System.Action<<T1>,<T2>> | action | Action to subscribe. |
See Also​
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Unsubscribe(System.Delegate)
Unsubscribe(Action<T1, T2>)​
Removes a subscription created through Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate). Note that the System.Delegate to be
unsubscribed must be the same instance as the one passed in.
void Unsubscribe(Action<T1, T2> action)
Parameters​
| Type | Name | Description |
|---|---|---|
System.Action<<T1>,<T2>> | action | Action to unsubscribe. |
See Also​
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.Subscribe(System.Delegate)
InvokeAction(T1, T2)​
Executes the Action registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterAction(System.Delegate). This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the same thread as the caller.
void InvokeAction(T1 arg1, T2 arg2)
Parameters​
| Type | Name |
|---|---|
<T1> | arg1 |
<T2> | arg2 |
Exceptions​
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered an action for calling yet.
See Also​
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterAction(System.Delegate)Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.UnregisterAction
InvokeFunc(T1, T2)​
Executes the Function registered for this IPC call gate via Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterFunc(System.Delegate). This method is intended
to be called by plugins wishing to access another plugin via RPC. The parameters passed to this method will be
passed to the owning plugin, with appropriate serialization for complex data types. Primitive data types will
be passed as-is. The target Action will be called on the same thread as the caller.
TRet InvokeFunc(T1 arg1, T2 arg2)
Returns​
<TRet>: The return value.
Parameters​
| Type | Name |
|---|---|
<T1> | arg1 |
<T2> | arg2 |
Exceptions​
Dalamud.Plugin.Ipc.Exceptions.IpcNotReadyError
This is thrown when the IPC publisher has not registered a func for calling yet.
See Also​
Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.RegisterFunc(System.Delegate)Dalamud.Plugin.Ipc.Internal.CallGatePubSubBase.UnregisterFunc