summaryrefslogtreecommitdiffstats
path: root/src/imports/localdevice
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/localdevice')
-rw-r--r--src/imports/localdevice/localdevice.pro17
-rw-r--r--src/imports/localdevice/plugin.cpp117
-rw-r--r--src/imports/localdevice/plugins.qmltypes54
-rw-r--r--src/imports/localdevice/qmldir3
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