public async Task SubscribeToEventAsync(ElectronAction <ElectronEventArguments> action, Func <Task> eventHandler) { var serializedObject = JsonConvert.SerializeObject(action, _serializerSettings); _eventHandlers.TryAdd(action.Id, eventHandler); await SendMessageAsync(serializedObject); }
public async Task <ElectronResponse> SendActionAsync <TArgument>(ElectronAction <TArgument> action) { var serializedObject = JsonConvert.SerializeObject(action, _serializerSettings); await SendMessageAsync(serializedObject); return(await ReceiveResponseForActionAsync(action.Id)); }
public async Task UnSubscribeToEventAsync(Guid actionId) { var action = new ElectronAction { Id = actionId, Type = ElectronRequestType.UnSubscribeEvent }; var serializedObject = JsonConvert.SerializeObject(action, _serializerSettings); _eventHandlers.TryRemove(actionId, out _); await SendMessageAsync(serializedObject); }