aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/qqmlsysteminformation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/qqmlsysteminformation.cpp')
-rw-r--r--src/core/qqmlsysteminformation.cpp110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/core/qqmlsysteminformation.cpp b/src/core/qqmlsysteminformation.cpp
new file mode 100644
index 0000000000..ce2be752e6
--- /dev/null
+++ b/src/core/qqmlsysteminformation.cpp
@@ -0,0 +1,110 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qqmlsysteminformation_p.h"
+#include <QtCore/qsysinfo.h>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \qmltype SystemInformation
+ \inherits QtObject
+ \inqmlmodule QtCore
+ \since 6.4
+ \brief Provides information about the system.
+
+ The SystemInformation singleton type provides information about the system,
+ using a similar API to \l QSysInfo, where each function in QSysInfo is
+ available as a property:
+
+ \qml
+ if (SystemInformation.wordSize === 64) {
+ console.log("64 bit")
+ } else {
+ console.log("32 bit")
+ }
+
+ if (SystemInformation.byteOrder === SystemInformation.Little) {
+ console.log("Little endian")
+ } else {
+ console.log("Big endian")
+ }
+
+ console.log("Currently running on " + SystemInformation.prettyProductName)
+ \endqml
+
+ \sa QSysInfo
+*/
+
+QQmlSystemInformation::QQmlSystemInformation(QObject *parent) : QObject(parent)
+{
+}
+
+int QQmlSystemInformation::wordSize() const
+{
+ return QSysInfo::WordSize;
+}
+
+QQmlSystemInformation::Endian QQmlSystemInformation::byteOrder() const
+{
+ return static_cast<Endian>(QSysInfo::ByteOrder);
+}
+
+QString QQmlSystemInformation::buildCpuArchitecture() const
+{
+ return QSysInfo::buildCpuArchitecture();
+}
+
+QString QQmlSystemInformation::currentCpuArchitecture() const
+{
+ return QSysInfo::currentCpuArchitecture();
+}
+
+QString QQmlSystemInformation::buildAbi() const
+{
+ return QSysInfo::buildAbi();
+}
+
+QString QQmlSystemInformation::kernelType() const
+{
+ return QSysInfo::kernelType();
+}
+
+QString QQmlSystemInformation::kernelVersion() const
+{
+ return QSysInfo::kernelVersion();
+}
+
+QString QQmlSystemInformation::productType() const
+{
+ return QSysInfo::productType();
+}
+
+QString QQmlSystemInformation::productVersion() const
+{
+ return QSysInfo::productVersion();
+}
+
+QString QQmlSystemInformation::prettyProductName() const
+{
+ return QSysInfo::prettyProductName();
+}
+
+QString QQmlSystemInformation::machineHostName() const
+{
+ return QSysInfo::machineHostName();
+}
+
+QByteArray QQmlSystemInformation::machineUniqueId() const
+{
+ return QSysInfo::machineUniqueId();
+}
+
+QByteArray QQmlSystemInformation::bootUniqueId() const
+{
+ return QSysInfo::bootUniqueId();
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qqmlsysteminformation_p.cpp"