1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include "jsresult.h"
QJSValue JSResult::setData(QJSValue value) {
qDebug() << "Success" << value.toString();
if (isSignalConnected(QMetaMethod::fromSignal(&JSResult::json))) {
if (value.isObject()) {
auto doc = QJsonDocument::fromVariant(value.toVariant());
if (doc.isEmpty()) {
qDebug() << value.toString();
emit error("Cannot parse JSON");
return QJSValue();
}
emit json(doc);
}
}
if (isSignalConnected(QMetaMethod::fromSignal(&JSResult::string))) {
qDebug() << "Emitting string signal";
if (value.isUndefined() || value.isNull())
emit string(QString());
else
emit string(value.toString());
}
// This object has JavascriptOwnership
// But it is deleted very late by the JS engine
deleteLater();
return QJSValue();
}
QJSValue JSResult::setError(QJSValue value) {
QString message = value.toString();
qWarning() << "Error" << message;
qDebug() << value.property("stack").toString().splitRef('\n');
emit error(message);
return QJSValue();
}
|