Solid::DeviceNotifier Class

class Solid::DeviceNotifier

This class allow to query the underlying system for information about the hardware available. More...

Header: #include <Solid/DeviceNotifier>
CMake: find_package(KF6 REQUIRED COMPONENTS Solid)
target_link_libraries(mytarget PRIVATE KF6::Solid)
Inherits: QObject

Signals

void deviceAdded(const QString &udi)
void deviceRemoved(const QString &udi)

Static Public Members

Solid::DeviceNotifier *instance()

Detailed Description

Applications should use this to be notified about hardware changes.

Note that it's implemented as a singleton and encapsulates the backend logic.

Member Function Documentation

[signal] void DeviceNotifier::deviceAdded(const QString &udi)

This signal is emitted when a new device with the given udi appears in the underlying system.

[signal] void DeviceNotifier::deviceRemoved(const QString &udi)

This signal is emitted when a device with the given udi disappears from the underlying system.

[static] Solid::DeviceNotifier *DeviceNotifier::instance()

Returns a pointer to the global DeviceNotifier instance to allow for its use with QObject::connect();

 auto notifier = Solid::DeviceNotifier::instance();

 auto refresh = [this] (const QString &udi) {
     Solid::Device device(udi);
     if (device.is<Solid::StorageDrive>()) {
         qInfo() << "A new storage drive was added!";
     }
 };
 QObject::connect(notifier, &Solid::DeviceNotifier::deviceAdded, refresh);