diff options
Diffstat (limited to 'src/imports/localdevice')
-rw-r--r-- | src/imports/localdevice/localdevice.pro | 17 | ||||
-rw-r--r-- | src/imports/localdevice/plugin.cpp | 117 | ||||
-rw-r--r-- | src/imports/localdevice/plugins.qmltypes | 54 | ||||
-rw-r--r-- | src/imports/localdevice/qmldir | 3 |
4 files changed, 191 insertions, 0 deletions
diff --git a/src/imports/localdevice/localdevice.pro b/src/imports/localdevice/localdevice.pro new file mode 100644 index 0000000..dfcbcf9 --- /dev/null +++ b/src/imports/localdevice/localdevice.pro @@ -0,0 +1,17 @@ +TEMPLATE = lib +CONFIG += plugin +TARGET = localdeviceplugin +uri = com.theqtcompany.localdevice + +QT += qml localdevice + +pluginfiles.files += \ + qmldir \ + +SOURCES += plugin.cpp + +installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /) + +target.path = $$installPath +pluginfiles.path += $$installPath +INSTALLS += target pluginfiles diff --git a/src/imports/localdevice/plugin.cpp b/src/imports/localdevice/plugin.cpp new file mode 100644 index 0000000..b69d9b4 --- /dev/null +++ b/src/imports/localdevice/plugin.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://www.qt.io +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** the contact form at http://www.qt.io +** +****************************************************************************/ +#include <qlocaldevice.h> +#include <QtQml> + +/*! + \qmlmodule com.theqtcompany.localdevice 1.0 + \title Qt Local Device QML Module + \ingroup qtee-qmlmodules + \brief A collection of the local device related utility functions, accessible from QML. +*/ + +/*! + \page b2qt-addon-utils.html + \title Qt Local Device Module + \ingroup qtee-modules + \brief A collection of the local device realted utility functions, accessible from QML. + + Provides utility functions for controlling an embedded + device, such as device shutdown/reboot. + + Import the module as follows: + + \badcode + import com.theqtcompany.localdevice 1.0 + \endcode + + This will give you access to the singleton QML type LocalDevice. + + \note Some functions are currently only implemented for one of + the platforms. + + \section1 QML Types + + \annotatedlist utils-qmltypes +*/ + +/*! + \qmltype LocalDevice + \inqmlmodule com.theqtcompany.localdevice + \ingroup utils-qmltypes + \brief Singleton QML type providing access to utility functions. + + LocalDevice QML type is the interface to various utility + functions. + + There is no need to create an instance of this object. To use it, + simply import the \c {LocalDevice} module: + + \qml + com.theqtcompany.localdevice + + \endqml + + \note Some functions are currently only implemented for one of + the platforms. +*/ + +/*! + \qmlmethod LocalDevice::reboot() + + Reboots the system. Does not return. + + \sa powerOff() +*/ + +/*! + \qmlmethod LocalDevice::powerOff() + + Shuts down the system. Does not return. + + \sa reboot() +*/ + +static QObject *module_api_factory(QQmlEngine *engine, QJSEngine *scriptEngine) +{ + Q_UNUSED(engine) + Q_UNUSED(scriptEngine) + QLocalDevice *api = new QLocalDevice(); + + return api; +} + +class B2QtUtilsPlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + +public: + B2QtUtilsPlugin() + { + } + + void registerTypes(const char *uri) + { + Q_ASSERT(QLatin1String(uri) == "com.theqtcompany.localdevice"); + qmlRegisterSingletonType<QLocalDevice>(uri, 1, 0, "LocalDevice", module_api_factory); + } +}; + +#include "plugin.moc" diff --git a/src/imports/localdevice/plugins.qmltypes b/src/imports/localdevice/plugins.qmltypes new file mode 100644 index 0000000..88acb66 --- /dev/null +++ b/src/imports/localdevice/plugins.qmltypes @@ -0,0 +1,54 @@ +import QtQuick.tooling 1.1
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+//
+// This file was auto-generated by:
+// 'qmlplugindump -nonrelocatable B2Qt.Utils 1.0 /system/qml/B2Qt/Utils/'
+
+Module {
+ Component {
+ name: "B2QtDevice"
+ prototype: "QObject"
+ exports: ["B2Qt.Utils/B2QtDevice 1.0"]
+ isCreatable: false
+ isSingleton: true
+ exportMetaObjectRevisions: [0]
+ Property { name: "displayBrightness"; type: "uchar" }
+ Property { name: "hostname"; type: "string" }
+ Property { name: "ipAddress"; type: "string"; isReadonly: true }
+ Property { name: "masterVolume"; type: "int" }
+ Signal {
+ name: "displayBrightnessChanged"
+ Parameter { name: "newValue"; type: "uchar" }
+ }
+ Signal {
+ name: "hostnameChanged"
+ Parameter { name: "newName"; type: "string" }
+ }
+ Signal {
+ name: "ipAddressChanged"
+ Parameter { name: "newAddress"; type: "string" }
+ }
+ Signal {
+ name: "masterVolumeChanged"
+ Parameter { name: "newVolume"; type: "int" }
+ }
+ Method { name: "reboot" }
+ Method { name: "powerOff" }
+ Method {
+ name: "setDisplayBrightness"
+ type: "bool"
+ Parameter { name: "value"; type: "uchar" }
+ }
+ Method {
+ name: "setHostname"
+ type: "bool"
+ Parameter { name: "name"; type: "string" }
+ }
+ Method {
+ name: "setMasterVolume"
+ Parameter { name: "volume"; type: "int" }
+ }
+ }
+}
diff --git a/src/imports/localdevice/qmldir b/src/imports/localdevice/qmldir new file mode 100644 index 0000000..ae1b1c5 --- /dev/null +++ b/src/imports/localdevice/qmldir @@ -0,0 +1,3 @@ +module com.theqtcompany.localdevice +plugin localdeviceplugin +typeinfo plugins.qmltypes |