Solid
deviceinterface.h
Go to the documentation of this file.
00001 /* 00002 Copyright 2006-2007 Kevin Ottens <ervin@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) version 3, or any 00008 later version accepted by the membership of KDE e.V. (or its 00009 successor approved by the membership of KDE e.V.), which shall 00010 act as a proxy defined in Section 6 of version 3 of the license. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef SOLID_DEVICEINTERFACE_H 00022 #define SOLID_DEVICEINTERFACE_H 00023 00024 #include <QtCore/QObject> 00025 #include <QtCore/QBool> 00026 00027 #include <solid/solid_export.h> 00028 00029 namespace Solid 00030 { 00031 class Device; 00032 class DevicePrivate; 00033 class Predicate; 00034 class DeviceInterfacePrivate; 00035 00042 class SOLID_EXPORT DeviceInterface : public QObject 00043 { 00044 Q_OBJECT 00045 Q_ENUMS(Type) 00046 Q_DECLARE_PRIVATE(DeviceInterface) 00047 00048 public: 00067 enum Type { Unknown = 0, GenericInterface = 1, Processor = 2, 00068 Block = 3, StorageAccess = 4, StorageDrive = 5, 00069 OpticalDrive = 6, StorageVolume = 7, OpticalDisc = 8, 00070 Camera = 9, PortableMediaPlayer = 10, 00071 NetworkInterface = 11, AcAdapter = 12, Battery = 13, 00072 Button = 14, AudioInterface = 15, DvbInterface = 16, Video = 17, 00073 SerialInterface = 18, SmartCardReader = 19, InternetGateway = 20, 00074 NetworkShare = 21, Last = 0xffff }; 00075 00079 virtual ~DeviceInterface(); 00080 00087 bool isValid() const; 00088 00093 static QString typeToString(Type type); 00094 00099 static Type stringToType(const QString &type); 00100 00106 static QString typeDescription(Type type); 00107 00108 protected: 00116 DeviceInterface(DeviceInterfacePrivate &dd, QObject *backendObject); 00117 00118 DeviceInterfacePrivate *d_ptr; 00119 00120 private: 00121 friend class Device; 00122 friend class DevicePrivate; 00123 }; 00124 } 00125 00126 #endif
KDE 4.7 API Reference