libsolidcontrol
bluetoothinterface.h
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 Copyright (C) 2007 Will Stephenson <wstephenson@kde.org> 00003 Copyright (C) 2007 Daniel Gollub <dgollub@suse.de> 00004 00005 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Library General Public 00008 License version 2 as published by the Free Software Foundation. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 Boston, MA 02110-1301, USA. 00019 00020 */ 00021 00022 #ifndef SOLID_IFACES_BLUETOOTHINTERFACE_H 00023 #define SOLID_IFACES_BLUETOOTHINTERFACE_H 00024 00025 #include <QtCore/QList> 00026 #include "../solid_control_export.h" 00027 00028 #include "../bluetoothinterface.h" 00029 #include "bluetoothremotedevice.h" 00030 00031 #include <QtCore/QObject> 00032 00033 namespace Solid 00034 { 00035 namespace Control 00036 { 00037 namespace Ifaces 00038 { 00042 class SOLIDCONTROLIFACES_EXPORT BluetoothInterface : public QObject 00043 { 00044 Q_OBJECT 00045 public: 00051 BluetoothInterface(QObject *parent = 0); 00052 00056 virtual ~BluetoothInterface(); 00057 00064 virtual QString ubi() const = 0; 00065 00071 //virtual QString address() const = 0; 00072 00079 //virtual QString version() const = 0; 00080 00087 //virtual QString revision() const = 0; 00088 00095 //virtual QString manufacturer() const = 0; 00096 00103 //virtual QString company() const = 0; 00104 00105 00115 //virtual Solid::Control::BluetoothInterface::Mode mode() const = 0; 00116 00123 //virtual int discoverableTimeout() const = 0; 00124 00130 //virtual bool isDiscoverable() const = 0; 00131 00132 00139 //virtual QStringList listConnections() const = 0; 00140 00141 00147 //virtual QString majorClass() const = 0; 00148 00154 //virtual QStringList listAvailableMinorClasses() const = 0; 00155 00162 //virtual QString minorClass() const = 0; 00163 00169 //virtual QStringList serviceClasses() const = 0; 00175 //virtual QString name() const = 0; 00176 00182 //virtual QString getRemoteName(const QString & mac) = 0; 00183 00190 //virtual QStringList listBondings() const = 0; 00191 00197 //virtual bool isPeriodicDiscoveryActive() const = 0; 00198 00205 //virtual bool isPeriodicDiscoveryNameResolvingActive() const = 0; 00206 00215 //virtual QStringList listRemoteDevices() const = 0; 00216 00227 // virtual QStringList listRecentRemoteDevices(const QDateTime &date) const = 0; 00228 00234 // virtual bool isTrusted(const QString &) = 0; 00235 00243 virtual void createPairedDevice(const QString &, const QString &, const QString &) const = 0; 00244 00245 virtual QMap< QString, QVariant > getProperties() const = 0; 00246 00247 virtual QStringList listDevices() const = 0; 00248 00249 virtual QString findDevice(const QString &) const = 0; 00250 00251 //virtual QString createDevice(const QString &) const = 0; 00252 virtual void createDevice(const QString &) const = 0; 00253 00254 00255 00256 //public Q_SLOTS: 00263 //virtual void setMode(const Solid::Control::BluetoothInterface::Mode mode) = 0; 00264 00270 //virtual void setDiscoverableTimeout(int timeout) = 0; 00271 00277 //virtual void setMinorClass(const QString &minor) = 0; 00278 00284 //virtual void setName(const QString &name) = 0; 00285 00286 00290 //virtual void discoverDevices() = 0; 00294 //virtual void discoverDevicesWithoutNameResolving() = 0; 00298 //virtual void cancelDiscovery() = 0; 00299 00304 //virtual void startPeriodicDiscovery() = 0; 00305 00309 //virtual void stopPeriodicDiscovery() = 0; 00310 00316 //virtual void setPeriodicDiscoveryNameResolving(bool resolveNames) = 0; 00317 00324 virtual QObject *createBluetoothRemoteDevice(const QString &ubi) = 0; 00325 00326 virtual QObject *createBluetoothInputDevice(const QString &ubi) = 0; 00327 00333 //virtual void setTrusted(const QString &) = 0; 00334 00340 //virtual void removeTrust(const QString &) = 0; 00341 00342 virtual void registerAgent(const QString &,const QString &) = 0; 00343 00344 virtual void releaseSession() = 0; 00345 00346 virtual void removeDevice(const QString &) = 0; 00347 00348 virtual void requestSession() = 0; 00349 00350 virtual void setProperty(const QString &, const QVariant &) = 0; 00351 00352 virtual void startDiscovery() = 0; 00353 00354 virtual void stopDiscovery() = 0; 00355 00356 virtual void unregisterAgent(const QString &) = 0; 00357 00358 virtual void cancelDeviceCreation(const QString &) = 0; 00359 00360 00361 Q_SIGNALS: 00362 00369 //void modeChanged(Solid::Control::BluetoothInterface::Mode); 00370 00377 //void discoverableTimeoutChanged(int timeout); 00378 00384 //void minorClassChanged(const QString &minor); 00385 00391 //void nameChanged(const QString &name); 00392 00396 //void discoveryStarted(); 00397 00401 //void discoveryCompleted(); 00402 00412 //void remoteDeviceFound(const QString &ubi, int deviceClass, int rssi); 00413 00420 //void remoteDeviceDisappeared(const QString &ubi); 00421 00429 //void remoteNameUpdated(const QString &address, const QString &name); 00430 00436 //void remoteDeviceConnected(const QString &address); 00437 00443 //void remoteDeviceDisconnected(const QString &address); 00444 00450 //void trustAdded(const QString &address); 00451 00457 //void trustRemoved(const QString &address); 00458 00464 //void bondingCreated(const QString &address); 00465 00471 //void bondingRemoved(const QString &address); 00472 00478 void deviceCreated(const QString &ubi); 00479 00486 void deviceDisappeared(const QString &address); 00487 00495 void deviceFound(const QString &address, const QMap< QString,QVariant > &properties); 00496 00502 void deviceRemoved(const QString &ubi); 00503 00510 void propertyChanged(const QString &property, const QVariant &value); 00511 00512 00513 }; 00514 } //Ifaces 00515 } //Control 00516 } //Solid 00517 00518 Q_DECLARE_INTERFACE(Solid::Control::Ifaces::BluetoothInterface, "org.kde.Solid.Control.Ifaces.BluetoothInterface/0.1") 00519 00520 #endif