summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/qtobject/qml/qtobject/main.qml5
-rw-r--r--src/MetaObjectPublisher.qml11
2 files changed, 9 insertions, 7 deletions
diff --git a/examples/qtobject/qml/qtobject/main.qml b/examples/qtobject/qml/qtobject/main.qml
index bcef24d..05591a8 100644
--- a/examples/qtobject/qml/qtobject/main.qml
+++ b/examples/qtobject/qml/qtobject/main.qml
@@ -70,11 +70,8 @@ Rectangle {
id: webChannel
onExecute: {
var payload = JSON.parse(requestData);
- var ret = publisher.handleRequest(payload, webChannel);
- if (!ret) {
+ if (!publisher.handleRequest(payload, webChannel, response)) {
console.log("unhandled request: ", requestData);
- } else {
- response.send(JSON.stringify(ret));
}
}
diff --git a/src/MetaObjectPublisher.qml b/src/MetaObjectPublisher.qml
index 61bb20f..d26a1ac 100644
--- a/src/MetaObjectPublisher.qml
+++ b/src/MetaObjectPublisher.qml
@@ -45,10 +45,10 @@ import Qt.labs.WebChannel 1.0
MetaObjectPublisherPrivate
{
- function handleRequest(payload, webChannel)
+ function handleRequest(payload, webChannel, response)
{
var object = namedObject(payload.object);
- var ret = false;
+ var ret;
if (payload.type == "Qt.invokeMethod") {
ret = (object[payload.method])(payload.args);
} else if (payload.type == "Qt.connectToSignal") {
@@ -62,9 +62,14 @@ MetaObjectPublisherPrivate
object[payload.property] = payload.value;
} else if (payload.type == "Qt.getObjects") {
ret = registeredClassInfo();
+ } else {
+ return false;
}
- return ret;
+ if (ret) {
+ response.send(JSON.stringify(ret));
+ }
+ return true;
}
function registerObjects(objects)