diff options
-rw-r--r-- | examples/qtobject/qml/qtobject/main.qml | 5 | ||||
-rw-r--r-- | src/MetaObjectPublisher.qml | 11 |
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) |