diff --git a/src/deviceinfo.cpp b/src/deviceinfo.cpp index db7941e..6c6362b 100644 --- a/src/deviceinfo.cpp +++ b/src/deviceinfo.cpp @@ -43,6 +43,11 @@ class DeviceInfoPrivate QSet m_features; QSet m_keys; + QString m_model; + QString m_baseModel; + QString m_designation; + QString m_manufacturer; + QString m_prettyName; }; DeviceInfoPrivate::DeviceInfoPrivate() @@ -65,6 +70,13 @@ DeviceInfoPrivate::DeviceInfoPrivate() free(keys); } + /* Note: These queries always return non-null C string */ + m_model = ssusysinfo_device_model(si); + m_baseModel = ssusysinfo_device_base_model(si); + m_designation = ssusysinfo_device_designation(si); + m_manufacturer = ssusysinfo_device_manufacturer(si); + m_prettyName = ssusysinfo_device_pretty_name(si); + ssusysinfo_delete(si); } @@ -95,3 +107,33 @@ bool DeviceInfo::hasHardwareKey(Qt::Key key) const Q_D(const DeviceInfo); return d->m_keys.contains(key); } + +QString DeviceInfo::model() const +{ + Q_D(const DeviceInfo); + return d->m_model; +} + +QString DeviceInfo::baseModel() const +{ + Q_D(const DeviceInfo); + return d->m_baseModel; +} + +QString DeviceInfo::designation() const +{ + Q_D(const DeviceInfo); + return d->m_designation; +} + +QString DeviceInfo::manufacturer() const +{ + Q_D(const DeviceInfo); + return d->m_manufacturer; +} + +QString DeviceInfo::prettyName() const +{ + Q_D(const DeviceInfo); + return d->m_prettyName; +} diff --git a/src/deviceinfo.h b/src/deviceinfo.h index eb45018..c360759 100644 --- a/src/deviceinfo.h +++ b/src/deviceinfo.h @@ -43,6 +43,11 @@ class DeviceInfoPrivate; class SYSTEMSETTINGS_EXPORT DeviceInfo: public QObject { Q_OBJECT + Q_PROPERTY(QString model READ model CONSTANT) + Q_PROPERTY(QString baseModel READ baseModel CONSTANT) + Q_PROPERTY(QString designation READ designation CONSTANT) + Q_PROPERTY(QString manufacturer READ manufacturer CONSTANT) + Q_PROPERTY(QString prettyName READ prettyName CONSTANT) public: enum Feature { @@ -100,6 +105,12 @@ class SYSTEMSETTINGS_EXPORT DeviceInfo: public QObject Q_INVOKABLE bool hasFeature(DeviceInfo::Feature feature) const; Q_INVOKABLE bool hasHardwareKey(Qt::Key key) const; + QString model() const; + QString baseModel() const; + QString designation() const; + QString manufacturer() const; + QString prettyName() const; + private: DeviceInfoPrivate *d_ptr;