File indexing completed on 2024-05-12 04:01:50
0001 /* 0002 SPDX-FileCopyrightText: 2006-2007 Kevin Ottens <ervin@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "deviceinterface.h" 0008 #include "deviceinterface_p.h" 0009 0010 #include <solid/devices/ifaces/deviceinterface.h> 0011 0012 #include <QMetaEnum> 0013 0014 Solid::DeviceInterface::DeviceInterface(DeviceInterfacePrivate &dd, QObject *backendObject) 0015 : d_ptr(&dd) 0016 { 0017 Q_D(DeviceInterface); 0018 0019 d->setBackendObject(backendObject); 0020 } 0021 0022 Solid::DeviceInterface::~DeviceInterface() 0023 { 0024 delete d_ptr->backendObject(); 0025 delete d_ptr; 0026 d_ptr = nullptr; 0027 } 0028 0029 bool Solid::DeviceInterface::isValid() const 0030 { 0031 Q_D(const DeviceInterface); 0032 return d->backendObject() != nullptr; 0033 } 0034 0035 QString Solid::DeviceInterface::typeToString(Type type) 0036 { 0037 int index = staticMetaObject.indexOfEnumerator("Type"); 0038 QMetaEnum metaEnum = staticMetaObject.enumerator(index); 0039 return QString(metaEnum.valueToKey((int)type)); 0040 } 0041 0042 Solid::DeviceInterface::Type Solid::DeviceInterface::stringToType(const QString &type) 0043 { 0044 int index = staticMetaObject.indexOfEnumerator("Type"); 0045 QMetaEnum metaEnum = staticMetaObject.enumerator(index); 0046 return (Type)metaEnum.keyToValue(type.toUtf8()); 0047 } 0048 0049 QString Solid::DeviceInterface::typeDescription(Type type) 0050 { 0051 switch (type) { 0052 case Unknown: 0053 return tr("Unknown", "Unknown device type"); 0054 case GenericInterface: 0055 return tr("Generic Interface", "Generic Interface device type"); 0056 case Processor: 0057 return tr("Processor", "Processor device type"); 0058 case Block: 0059 return tr("Block", "Block device type"); 0060 case StorageAccess: 0061 return tr("Storage Access", "Storage Access device type"); 0062 case StorageDrive: 0063 return tr("Storage Drive", "Storage Drive device type"); 0064 case OpticalDrive: 0065 return tr("Optical Drive", "Optical Drive device type"); 0066 case StorageVolume: 0067 return tr("Storage Volume", "Storage Volume device type"); 0068 case OpticalDisc: 0069 return tr("Optical Disc", "Optical Disc device type"); 0070 case Camera: 0071 return tr("Camera", "Camera device type"); 0072 case PortableMediaPlayer: 0073 return tr("Portable Media Player", "Portable Media Player device type"); 0074 case Battery: 0075 return tr("Battery", "Battery device type"); 0076 case NetworkShare: 0077 return tr("Network Share", "Network Share device type"); 0078 case Last: 0079 return QString(); 0080 } 0081 return QString(); 0082 } 0083 0084 Solid::DeviceInterfacePrivate::DeviceInterfacePrivate() 0085 : m_devicePrivate(nullptr) 0086 { 0087 } 0088 0089 Solid::DeviceInterfacePrivate::~DeviceInterfacePrivate() 0090 { 0091 } 0092 0093 QObject *Solid::DeviceInterfacePrivate::backendObject() const 0094 { 0095 return m_backendObject.data(); 0096 } 0097 0098 void Solid::DeviceInterfacePrivate::setBackendObject(QObject *object) 0099 { 0100 m_backendObject = object; 0101 } 0102 0103 Solid::DevicePrivate *Solid::DeviceInterfacePrivate::devicePrivate() const 0104 { 0105 return m_devicePrivate; 0106 } 0107 0108 void Solid::DeviceInterfacePrivate::setDevicePrivate(DevicePrivate *devicePrivate) 0109 { 0110 m_devicePrivate = devicePrivate; 0111 } 0112 0113 #include "moc_deviceinterface.cpp"