From bdcf85c3b0b07a0292b8d4ffe549b2df9ff1260c Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Wed, 3 Nov 2021 15:57:55 +0200 Subject: [PATCH] solid: implement driver name property for Solid::Graphic Signed-off-by: Ivailo Monev --- solid/solid/backends/udev/udevgraphic.cpp | 5 +++++ solid/solid/backends/udev/udevgraphic.h | 2 ++ solid/solid/graphic.cpp | 8 +++++++- solid/solid/graphic.h | 9 ++++++++- solid/solid/ifaces/graphic.h | 7 +++++++ 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/solid/solid/backends/udev/udevgraphic.cpp b/solid/solid/backends/udev/udevgraphic.cpp index dece5afc..1dce2a25 100644 --- a/solid/solid/backends/udev/udevgraphic.cpp +++ b/solid/solid/backends/udev/udevgraphic.cpp @@ -31,4 +31,9 @@ Graphic::~Graphic() { } +QString Graphic::driver() const +{ + return m_device->udevDevice().driver(); +} + #include "moc_udevgraphic.cpp" diff --git a/solid/solid/backends/udev/udevgraphic.h b/solid/solid/backends/udev/udevgraphic.h index f13ee2d2..a6195a3f 100644 --- a/solid/solid/backends/udev/udevgraphic.h +++ b/solid/solid/backends/udev/udevgraphic.h @@ -38,6 +38,8 @@ class Graphic : public DeviceInterface, virtual public Solid::Ifaces::Graphic public: Graphic(UDevDevice *device); virtual ~Graphic(); + + virtual QString driver() const; }; } } diff --git a/solid/solid/graphic.cpp b/solid/solid/graphic.cpp index a835eda4..4988979b 100644 --- a/solid/solid/graphic.cpp +++ b/solid/solid/graphic.cpp @@ -31,8 +31,14 @@ Solid::Graphic::Graphic(QObject *backendObject) Solid::Graphic::~Graphic() { - } +QString Solid::Graphic::driver() const +{ + Q_D(const Graphic); + return_SOLID_CALL(Ifaces::Graphic *, d->backendObject(), QString(), driver()); +} + + #include "moc_graphic.cpp" diff --git a/solid/solid/graphic.h b/solid/solid/graphic.h index 0e17f843..b2adf2a7 100644 --- a/solid/solid/graphic.h +++ b/solid/solid/graphic.h @@ -38,6 +38,7 @@ namespace Solid class SOLID_EXPORT Graphic : public DeviceInterface { Q_OBJECT + Q_PROPERTY(QString driver READ driver) Q_DECLARE_PRIVATE(Graphic) friend class Device; @@ -58,7 +59,6 @@ namespace Solid */ virtual ~Graphic(); - /** * Get the Solid::DeviceInterface::Type of the Graphic device interface. * @@ -66,6 +66,13 @@ namespace Solid * @see Solid::DeviceInterface::Type */ static Type deviceInterfaceType() { return DeviceInterface::Graphic; } + + /** + * Retrieves the driver used by the device. + * + * @return the driver name + */ + QString driver() const; }; } diff --git a/solid/solid/ifaces/graphic.h b/solid/solid/ifaces/graphic.h index 64dfea17..8592ab6a 100644 --- a/solid/solid/ifaces/graphic.h +++ b/solid/solid/ifaces/graphic.h @@ -39,6 +39,13 @@ namespace Ifaces * Destroys a Graphic object. */ virtual ~Graphic(); + + /** + * Retrieves the driver used by the device. + * + * @return the driver name + */ + virtual QString driver() const = 0; }; } }