diff options
Diffstat (limited to 'tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/backend.cpp')
| -rw-r--r-- | tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/backend.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/backend.cpp b/tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/backend.cpp new file mode 100644 index 0000000000..9062dbad3f --- /dev/null +++ b/tests/auto/quick/doc/how-tos/how-to-cpp-enum-js/backend.cpp @@ -0,0 +1,36 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +//! [file] +#include "backend.h" + +Backend::Backend(QJSEngine *engine) : + mEngine(engine) +{ +} + +bool Backend::load() +{ + // Do some loading here... + + const QJSValue module = mEngine->importModule(":/script.mjs"); + if (module.isError()) { + qWarning() << "Error loading script.mjs:" << module.toString(); + return false; + } + + const QJSValue function = module.property("backendStatusUpdate"); + if (!function.isCallable()) { + qWarning() << "backendStatusUpdate script function is not callable!"; + return false; + } + + const QJSValue functionResult = function.call(QJSValueList() << Loaded); + if (functionResult.isError()) { + qWarning() << "backendStatusUpdate script function had errors:" << functionResult.toString(); + return false; + } + + return true; +} +//! [file] |
