diff --git a/libsrc/api/JSONRPC_schema/schema-adjustment.json b/libsrc/api/JSONRPC_schema/schema-adjustment.json index b8856ef9..454b940f 100644 --- a/libsrc/api/JSONRPC_schema/schema-adjustment.json +++ b/libsrc/api/JSONRPC_schema/schema-adjustment.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["adjustment"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-clear.json b/libsrc/api/JSONRPC_schema/schema-clear.json index c63a77f7..467b32aa 100644 --- a/libsrc/api/JSONRPC_schema/schema-clear.json +++ b/libsrc/api/JSONRPC_schema/schema-clear.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["clear"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-clearall.json b/libsrc/api/JSONRPC_schema/schema-clearall.json index 8c88cc6c..1af31f29 100644 --- a/libsrc/api/JSONRPC_schema/schema-clearall.json +++ b/libsrc/api/JSONRPC_schema/schema-clearall.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["clearall"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" } diff --git a/libsrc/api/JSONRPC_schema/schema-color.json b/libsrc/api/JSONRPC_schema/schema-color.json index 754c5ad3..6d22b8c6 100644 --- a/libsrc/api/JSONRPC_schema/schema-color.json +++ b/libsrc/api/JSONRPC_schema/schema-color.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["color"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-componentstate.json b/libsrc/api/JSONRPC_schema/schema-componentstate.json index f46324dc..4a413928 100644 --- a/libsrc/api/JSONRPC_schema/schema-componentstate.json +++ b/libsrc/api/JSONRPC_schema/schema-componentstate.json @@ -9,6 +9,9 @@ "required" : true, "enum" : ["componentstate"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-config.json b/libsrc/api/JSONRPC_schema/schema-config.json index 8a134b54..352494b7 100644 --- a/libsrc/api/JSONRPC_schema/schema-config.json +++ b/libsrc/api/JSONRPC_schema/schema-config.json @@ -12,6 +12,9 @@ "required" : true, "enum" : ["getconfig","getschema","setconfig","restoreconfig","reload"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-create-effect.json b/libsrc/api/JSONRPC_schema/schema-create-effect.json index 97b55056..ac1c0137 100644 --- a/libsrc/api/JSONRPC_schema/schema-create-effect.json +++ b/libsrc/api/JSONRPC_schema/schema-create-effect.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["create-effect"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-delete-effect.json b/libsrc/api/JSONRPC_schema/schema-delete-effect.json index 8279f854..23dca48d 100644 --- a/libsrc/api/JSONRPC_schema/schema-delete-effect.json +++ b/libsrc/api/JSONRPC_schema/schema-delete-effect.json @@ -8,6 +8,9 @@ "required" : true, "enum" : ["delete-effect"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-effect.json b/libsrc/api/JSONRPC_schema/schema-effect.json index 876173f1..1c0220bd 100644 --- a/libsrc/api/JSONRPC_schema/schema-effect.json +++ b/libsrc/api/JSONRPC_schema/schema-effect.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["effect"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-image.json b/libsrc/api/JSONRPC_schema/schema-image.json index 3296babb..1bfae475 100644 --- a/libsrc/api/JSONRPC_schema/schema-image.json +++ b/libsrc/api/JSONRPC_schema/schema-image.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["image"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-ledcolors.json b/libsrc/api/JSONRPC_schema/schema-ledcolors.json index e0f3d905..85d287c2 100644 --- a/libsrc/api/JSONRPC_schema/schema-ledcolors.json +++ b/libsrc/api/JSONRPC_schema/schema-ledcolors.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["ledcolors"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-leddevice.json b/libsrc/api/JSONRPC_schema/schema-leddevice.json index 5065ea0d..ac74342c 100644 --- a/libsrc/api/JSONRPC_schema/schema-leddevice.json +++ b/libsrc/api/JSONRPC_schema/schema-leddevice.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["leddevice"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-logging.json b/libsrc/api/JSONRPC_schema/schema-logging.json index d9bd7cf7..aacfa349 100644 --- a/libsrc/api/JSONRPC_schema/schema-logging.json +++ b/libsrc/api/JSONRPC_schema/schema-logging.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["logging"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-processing.json b/libsrc/api/JSONRPC_schema/schema-processing.json index d67828f0..bdb1db4c 100644 --- a/libsrc/api/JSONRPC_schema/schema-processing.json +++ b/libsrc/api/JSONRPC_schema/schema-processing.json @@ -7,6 +7,9 @@ "required" : true, "enum" : ["processing"] }, + "instance" : { + "type" : "integer" + }, "tan" : { "type" : "integer" }, diff --git a/libsrc/api/JSONRPC_schema/schema-serverinfo.json b/libsrc/api/JSONRPC_schema/schema-serverinfo.json index 4ead4617..a58c85b7 100644 --- a/libsrc/api/JSONRPC_schema/schema-serverinfo.json +++ b/libsrc/api/JSONRPC_schema/schema-serverinfo.json @@ -11,6 +11,9 @@ "type": "string", "enum": ["getInfo", "subscribe", "unsubscribe", "getSubscriptions", "getSubscriptionCommands"] }, + "instance" : { + "type" : "integer" + }, "data": { "type": ["null", "array"], "properties": { diff --git a/libsrc/api/JsonAPI.cpp b/libsrc/api/JsonAPI.cpp index 19b4aef9..a5d9c221 100644 --- a/libsrc/api/JsonAPI.cpp +++ b/libsrc/api/JsonAPI.cpp @@ -228,6 +228,15 @@ void JsonAPI::handleMessage(const QString &messageString, const QString &httpAut return; } + if ( message.contains("instance")) + { + const quint8 instance = static_cast(message.value("instance").toInt()); + if (!setHyperionInstance(instance)) + { + sendErrorReply(QString("Invalid or stopped instance: %1").arg(instance), cmd); + } + } + handleCommand(cmd, message); }