1 /* 2 This file is part of the KMTP framework, part of the KDE project. 3 4 SPDX-FileCopyrightText: 2018 Andreas Krutzler <andreas.krutzler@gmx.net> 5 6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 7 */ 8 9 #include "kmtpdeviceinterface.h" 10 #include "kmtpstorageinterface.h" 11 KMTPDeviceInterface(const QString & dbusObjectPath,QObject * parent)12KMTPDeviceInterface::KMTPDeviceInterface(const QString &dbusObjectPath, QObject *parent) 13 : QObject(parent) 14 { 15 m_dbusInterface = new org::kde::kmtp::Device(QStringLiteral("org.kde.kiod5"), 16 dbusObjectPath, 17 QDBusConnection::sessionBus(), 18 this); 19 20 const auto storageNames = m_dbusInterface->listStorages().value(); 21 m_storages.reserve(storageNames.count()); 22 for (const QDBusObjectPath &storageName : storageNames) { 23 m_storages.append(new KMTPStorageInterface(storageName.path(), this)); 24 } 25 } 26 udi() const27QString KMTPDeviceInterface::udi() const 28 { 29 return m_dbusInterface->udi(); 30 } 31 friendlyName() const32QString KMTPDeviceInterface::friendlyName() const 33 { 34 return m_dbusInterface->friendlyName(); 35 } 36 storages() const37QVector<KMTPStorageInterface *> KMTPDeviceInterface::storages() const 38 { 39 return m_storages; 40 } 41 storageFromDescription(const QString & description) const42KMTPStorageInterface *KMTPDeviceInterface::storageFromDescription(const QString &description) const 43 { 44 auto storageIt = std::find_if(m_storages.constBegin(), m_storages.constEnd(), [description] (KMTPStorageInterface *storage) { 45 return storage->description() == description; 46 }); 47 48 return storageIt == m_storages.constEnd() ? nullptr : *storageIt; 49 } 50 setFriendlyName(const QString & friendlyName)51int KMTPDeviceInterface::setFriendlyName(const QString &friendlyName) 52 { 53 return m_dbusInterface->setFriendlyName(friendlyName); 54 } 55 56 #include "moc_kmtpdeviceinterface.cpp" 57