File indexing completed on 2024-05-12 04:01:42
0001 /* 0002 SPDX-FileCopyrightText: 2010 Mario Bensi <mbensi@ipsquad.net> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef SOLID_BACKENDS_FSTAB_FSTABMANAGER_H 0008 #define SOLID_BACKENDS_FSTAB_FSTABMANAGER_H 0009 0010 #include <QSet> 0011 #include <QStringList> 0012 #include <solid/deviceinterface.h> 0013 #include <solid/devices/ifaces/devicemanager.h> 0014 0015 namespace Solid 0016 { 0017 namespace Backends 0018 { 0019 namespace Fstab 0020 { 0021 class AbstractDeviceFactory; 0022 0023 class FstabManager : public Solid::Ifaces::DeviceManager 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 explicit FstabManager(QObject *parent); 0029 ~FstabManager() override; 0030 0031 QString udiPrefix() const override; 0032 QSet<Solid::DeviceInterface::Type> supportedInterfaces() const override; 0033 QStringList allDevices() override; 0034 QStringList devicesFromQuery(const QString &parentUdi, Solid::DeviceInterface::Type type) override; 0035 QObject *createDevice(const QString &udi) override; 0036 0037 Q_SIGNALS: 0038 void mtabChanged(const QString &device); 0039 0040 private Q_SLOTS: 0041 void onFstabChanged(); 0042 void onMtabChanged(); 0043 0044 private: 0045 QSet<Solid::DeviceInterface::Type> m_supportedInterfaces; 0046 QStringList m_deviceList; 0047 void _k_updateDeviceList(); 0048 }; 0049 0050 } 0051 } 0052 } 0053 0054 #endif