Solid

udisksmanager.h
1/*
2 SPDX-FileCopyrightText: 2010 Michael Zanetti <mzanetti@kde.org>
3 SPDX-FileCopyrightText: 2010-2012 Lukáš Tinkl <ltinkl@redhat.com>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#ifndef UDISKSMANAGER_H
9#define UDISKSMANAGER_H
10
11#include "dbus/manager.h"
12#include "udisks2.h"
13#include "udisksdevice.h"
14
15#include <solid/devices/ifaces/devicemanager.h>
16
17#include <QSet>
18
19namespace Solid
20{
21namespace Backends
22{
23namespace UDisks2
24{
26{
28
29public:
31 QObject *createDevice(const QString &udi) override;
32 QStringList devicesFromQuery(const QString &parentUdi, Solid::DeviceInterface::Type type) override;
33 QStringList allDevices() override;
34 QSet<Solid::DeviceInterface::Type> supportedInterfaces() const override;
35 QString udiPrefix() const override;
36 ~Manager() override;
37
38private Q_SLOTS:
39 void slotInterfacesAdded(const QDBusObjectPath &object_path, const VariantMapMap &interfaces_and_properties);
40 void slotInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
41 void slotMediaChanged(const QDBusMessage &msg);
42
43private:
44 const QStringList &deviceCache();
45 void introspect(const QString &path, bool checkOptical = false);
46 void updateBackend(const QString &udi);
47 QSet<Solid::DeviceInterface::Type> m_supportedInterfaces;
48 org::freedesktop::DBus::ObjectManager m_manager;
49 QStringList m_deviceCache;
50};
51
52}
53}
54}
55#endif // UDISKSMANAGER_H
Type
This enum type defines the type of device interface that a Device can have.
This class specifies the interface a backend will have to implement in order to be used in the system...
The single responsibility of this class is to create arguments valid for logind Inhibit call.
Definition fakebattery.h:16
Q_OBJECTQ_OBJECT
Q_SLOTSQ_SLOTS
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:12 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.