public void RegisterResponseHandler <T>(IpcCall call, IpcMessageHandler <T> handler) { responseHandlers[call] = (msg) => { return(handler?.Invoke(msg.As <T>()) ?? false); }; }
public bool HandleIpcMessage(BaseMessage baseMessage) { IpcMessage message = baseMessage as IpcMessage; if (message == null) { return(false); } IpcMessageHandler handler = null; if (message.Method == IpcMessageMethod.Send) { responseHandlers.TryGetValue(message.Call, out handler); } else if (message.Method == IpcMessageMethod.Request) { requestHandlers.TryGetValue(message.Call, out handler); } return(handler?.Invoke(message) ?? false); }
public void RegisterResponseHandler(IpcCall call, IpcMessageHandler handler) { responseHandlers[call] = handler; }
// TODO: Figure out how to handle generics here. public void RegisterRequestHandler(IpcCall call, IpcMessageHandler handler) { requestHandlers[call] = handler; }