SolidModules
bluez-bluetoothremotedevice.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef BLUEZ_BLUETOOTHREMOTEDEVICE_H
00023 #define BLUEZ_BLUETOOTHREMOTEDEVICE_H
00024
00025 #include <kdemacros.h>
00026
00027 #include <solid/control/ifaces/bluetoothremotedevice.h>
00028 #include <QtDBus>
00029
00030
00031 class KDE_EXPORT BluezBluetoothRemoteDevice : public Solid::Control::Ifaces::BluetoothRemoteDevice
00032 {
00033 Q_OBJECT
00034 Q_INTERFACES(Solid::Control::Ifaces::BluetoothRemoteDevice)
00035 public:
00036 BluezBluetoothRemoteDevice(const QString &objectPath);
00037 virtual ~BluezBluetoothRemoteDevice();
00038 QString ubi() const;
00039 QString address() const;
00040 bool isConnected() const;
00041 QString version() const;
00042 QString revision() const;
00043 QString manufacturer() const;
00044 QString company() const;
00045 QString majorClass() const;
00046 QString minorClass() const;
00047 QStringList serviceClasses() const;
00048 QString name() const;
00049 QString alias() const;
00050 QString lastSeen() const;
00051 QString lastUsed() const;
00052 bool hasBonding() const;
00053 int pinCodeLength() const;
00054 int encryptionKeySize() const;
00055
00056 KJob *createBonding();
00057 private Q_SLOTS:
00058 void slotClassChanged(const QString &address, uint newClass);
00059 void slotNameUpdated(const QString &address,const QString &newName);
00060 void slotNameResolvingFailed(const QString &address);
00061 void slotAliasChanged(const QString &address,const QString &newAlias);
00062 void slotAliasCleared(const QString &address);
00063 void slotConnected(const QString &address);
00064 void slotRequestDisconnection(const QString &address);
00065 void slotDisconnected(const QString &address);
00066 void slotBonded(const QString &address);
00067 void slotUnbonded(const QString &address);
00068
00069 void slotServiceHandles(const QList<uint> &handles);
00070 void dbusErrorHandles(const QDBusError &error);
00071 void slotServiceRecordAsXml(const QString &record);
00072 void dbusErrorRecordAsXml(const QDBusError &error);
00073
00074 public Q_SLOTS:
00075 void setAlias(const QString &alias);
00076 void clearAlias();
00077 void disconnect();
00078 void cancelBondingProcess();
00079 void removeBonding();
00080 void serviceHandles(const QString &filter ="") const;
00081 void serviceRecordAsXml(uint handle) const;
00082 Q_SIGNALS:
00083 void classChanged(uint deviceClass);
00084 void nameChanged(const QString &name);
00085 void nameResolvingFailed();
00086 void aliasChanged(const QString &alias);
00087 void aliasCleared();
00088 void connected();
00089 void requestDisconnection();
00090 void disconnected();
00091 void bondingCreated();
00092 void bondingRemoved();
00093 void serviceRecordXmlAvailable(const QString &ubi, const QString &record);
00094 void serviceHandlesAvailable(const QString &ubi, const QList<uint> &handles);
00095
00096 private:
00097 QString m_objectPath;
00098 QDBusInterface *device;
00099 QString m_address;
00100 QString m_adapter;
00101
00102 QStringList listReply(const QString &method) const;
00103 QString stringReply(const QString &method) const;
00104 bool boolReply(const QString &method) const;
00105 };
00106
00107 #endif