Solid
device_p.h
Go to the documentation of this file.
00001 /* 00002 Copyright 2005-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_DEVICE_P_H 00022 #define SOLID_DEVICE_P_H 00023 00024 #include <QtCore/QObject> 00025 #include <QtCore/QSharedData> 00026 #include <QtCore/QWeakPointer> 00027 00028 namespace Solid 00029 { 00030 namespace Ifaces 00031 { 00032 class Device; 00033 } 00034 00035 class DevicePrivate : public QObject, public QSharedData 00036 { 00037 Q_OBJECT 00038 public: 00039 explicit DevicePrivate(const QString &udi); 00040 ~DevicePrivate(); 00041 00042 QString udi() const { return m_udi; } 00043 00044 Ifaces::Device *backendObject() const { return m_backendObject.data(); } 00045 void setBackendObject(Ifaces::Device *object); 00046 00047 DeviceInterface *interface(const DeviceInterface::Type &type) const; 00048 void setInterface(const DeviceInterface::Type &type, DeviceInterface *interface); 00049 00050 public Q_SLOTS: 00051 void _k_destroyed(QObject *object); 00052 00053 private: 00054 QString m_udi; 00055 QWeakPointer<Ifaces::Device> m_backendObject; 00056 QMap<DeviceInterface::Type, DeviceInterface *> m_ifaces; 00057 }; 00058 } 00059 00060 00061 #endif
KDE 4.6 API Reference