libsolidcontrol
bluetoothmanager.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2006 Will Stephenson <wstephenson@kde.org> 00003 Copyright (C) 2006 Kevin Ottens <ervin@kde.org> 00004 Copyright (C) 2007 Daniel Gollub <dgollub@suse.de> 00005 Copyright (C) 2008 Tom Patzig <tpatzig@suse.de> 00006 00007 00008 This library is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU Library General Public 00010 License version 2 as published by the Free Software Foundation. 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 Library General Public License for more details. 00016 00017 You should have received a copy of the GNU Library General Public License 00018 along with this library; see the file COPYING.LIB. If not, write to 00019 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00020 Boston, MA 02110-1301, USA. 00021 00022 */ 00023 00024 #ifndef SOLID_CONTROL_BLUETOOTHMANAGER_H 00025 #define SOLID_CONTROL_BLUETOOTHMANAGER_H 00026 00027 #include <QtCore/QObject> 00028 00029 #include "singletondefs.h" 00030 #include "solid_control_export.h" 00031 00032 #include "bluetoothinterface.h" 00033 #include "bluetoothinputdevice.h" 00034 00035 class KJob; 00036 00037 namespace Solid 00038 { 00039 namespace Control 00040 { 00041 namespace Ifaces 00042 { 00043 class BluetoothManager; 00044 } 00045 00046 class BluetoothInterface; 00047 class BluetoothSecurity; 00048 00049 typedef QList<BluetoothInterface> BluetoothInterfaceList; 00050 typedef QList<BluetoothInputDevice> BluetoothInputDeviceList; 00051 class BluetoothManagerPrivate; 00052 00060 class SOLIDCONTROL_EXPORT BluetoothManager : public QObject 00061 { 00062 Q_OBJECT 00063 SOLID_SINGLETON(BluetoothManager) 00064 00065 public: 00072 BluetoothInterfaceList bluetoothInterfaces() const; 00073 //QStringList bluetoothInterfaces() const; 00074 00081 QString defaultInterface() const; 00082 00089 QString findInterface(const QString & name) const; 00090 00091 00098 BluetoothInterface findBluetoothInterface(const QString & ubi) const; 00099 00100 00107 // BluetoothInputDevice findBluetoothInputDevice(const QString & ubi) const; 00108 00115 //BluetoothInputDeviceList bluetoothInputDevices() const; 00116 00123 //BluetoothInputDevice *createBluetoothInputDevice(const QString &ubi); 00124 00131 //KJob *setupInputDevice(const QString &ubi); 00132 00136 //BluetoothSecurity *security(const QString &interface = QString()); 00137 00138 public Q_SLOTS: 00144 // void removeInputDevice(const QString & ubi); 00145 00146 Q_SIGNALS: 00152 void interfaceAdded(const QString & ubi); 00153 00159 void interfaceRemoved(const QString & ubi); 00160 00166 void defaultInterfaceChanged(const QString & ubi); 00167 00173 // void inputDeviceCreated(const QString & ubi); 00174 00180 // void inputDeviceRemoved(const QString & ubi); 00181 00182 00183 private: 00184 BluetoothManager(); 00185 ~BluetoothManager(); 00186 00187 BluetoothInterfaceList buildDeviceList(const QStringList & ubiList) const; 00188 00189 Q_PRIVATE_SLOT(d, void _k_interfaceAdded(const QString &)) 00190 Q_PRIVATE_SLOT(d, void _k_interfaceRemoved(const QString &)) 00191 Q_PRIVATE_SLOT(d, void _k_defaultInterfaceChanged(const QString &)) 00192 Q_PRIVATE_SLOT(d, void _k_interfaceDestroyed(QObject *)) 00193 /* 00194 Q_PRIVATE_SLOT(d, void _k_inputDeviceCreated(const QString &)) 00195 Q_PRIVATE_SLOT(d, void _k_inputDeviceRemoved(const QString &)) 00196 Q_PRIVATE_SLOT(d, void _k_inputDeviceDestroyed(QObject *)) 00197 */ 00198 00199 BluetoothManagerPrivate * const d; 00200 friend class BluetoothManagerPrivate; 00201 }; 00202 } // Control 00203 } // Solid 00204 00205 #endif