private void OnMessageReceived(object?sender, string json) { StreamDeckEvent?streamDeckEvent = StreamDeckEvent.FromJson(json); if (streamDeckEvent == null) { return; } switch (streamDeckEvent.Event) { case EventType.KeyDown: case EventType.KeyUp: case EventType.WillAppear: case EventType.WillDisappear: case EventType.TitleParametersDidChange: case EventType.DidReceiveSettings: case EventType.PropertyInspectorDidAppear: case EventType.PropertyInspectorDidDisappear: ActionEventReceived?.Invoke(this, (StreamDeckActionEvent)streamDeckEvent); break; case EventType.DeviceDidConnect: case EventType.DeviceDidDisconnect: case EventType.ApplicationDidLaunch: case EventType.ApplicationDidTerminate: case EventType.SendToPlugin: case EventType.DidReceiveGlobalSettings: case EventType.SystemDidWakeUp: PluginEventReceived?.Invoke(this, (StreamDeckPluginEvent)streamDeckEvent); break; } }
private static StreamDeckPluginEvent CreateEvent(EventType eventType, object payload = null) { var json = JObject.FromObject(new { @event = eventType.ToString("G"), device = "device", payload }).ToString(); return((StreamDeckPluginEvent)StreamDeckEvent.FromJson(json)); }
private async void FromJson_WithInput_ParsesCorrectly(EventType eventType) { // Arrange string json = await GetEmbeddedJsonAsync(eventType); // Act StreamDeckEvent streamDeckEvent = StreamDeckEvent.FromJson(json); // Assert Assert.NotNull(streamDeckEvent); Assert.Equal(eventType, streamDeckEvent.Event); StreamDeckApprovals.VerifyObject(streamDeckEvent); }
private static StreamDeckActionEvent CreateEvent(EventType eventType) { var json = JObject.FromObject(new { action = "testAction", @event = eventType.ToString("G"), context = "context", device = "device", payload = new { coordinates = new { column = 0, row = 0 }, state = 0, userDesiredState = 0, isInMultiAction = false } }).ToString(); return((StreamDeckActionEvent)StreamDeckEvent.FromJson(json)); }