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));
        }
Exemple #3
0
        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));
        }