summaryrefslogtreecommitdiffstats
path: root/src/localdevice/qlocaldevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/localdevice/qlocaldevice.cpp')
-rw-r--r--src/localdevice/qlocaldevice.cpp57
1 files changed, 57 insertions, 0 deletions
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");
+}
+