diff options
Diffstat (limited to 'src/localdevice')
-rw-r--r-- | src/localdevice/localdevice.pro | 16 | ||||
-rw-r--r-- | src/localdevice/qlocaldevice.cpp | 57 | ||||
-rw-r--r-- | src/localdevice/qlocaldevice.h | 37 |
3 files changed, 110 insertions, 0 deletions
diff --git a/src/localdevice/localdevice.pro b/src/localdevice/localdevice.pro new file mode 100644 index 0000000..e6e5bc9 --- /dev/null +++ b/src/localdevice/localdevice.pro @@ -0,0 +1,16 @@ +load(qt_build_config) + +TARGET = QtLocalDevice +VERSION = 1.0 +CONFIG += dll warn_on + +QT = core + +MODULE = localdevice +load(qt_module) + +HEADERS += \ + $$PWD/qlocaldevice.h + +SOURCES += \ + $$PWD/qlocaldevice.cpp diff --git a/src/localdevice/qlocaldevice.cpp b/src/localdevice/qlocaldevice.cpp new file mode 100644 index 0000000..86893fd --- /dev/null +++ b/src/localdevice/qlocaldevice.cpp @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** 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 <unistd.h> +#include <sys/reboot.h> + + +QLocalDevice::QLocalDevice(QObject *parent) + : QObject(parent) +{ +} + +QLocalDevice::~QLocalDevice() +{ +} + +/*! + * Reboots the system. Does not return. + * + * \sa powerOff() + */ +void QLocalDevice::reboot() +{ + sync(); + ::reboot(RB_AUTOBOOT); + qWarning("reboot returned"); +} + + +/*! + * Shuts down the system. Does not return. + * + * \sa reboot() + */ +void QLocalDevice::powerOff() +{ + sync(); + ::reboot(RB_POWER_OFF); + qWarning("powerOff returned"); +} + diff --git a/src/localdevice/qlocaldevice.h b/src/localdevice/qlocaldevice.h new file mode 100644 index 0000000..cf289c8 --- /dev/null +++ b/src/localdevice/qlocaldevice.h @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ +#ifndef QLOCALDEVICE_H +#define QLOCALDEVICE_H + +#include <qobject.h> + +class Q_DECL_EXPORT QLocalDevice : public QObject +{ + Q_OBJECT + +public: + QLocalDevice(QObject *parent = 0); + ~QLocalDevice(); + +public Q_SLOTS: + void reboot(); + void powerOff(); +}; + +#endif // QLOCALDEVICE_H |