1 #ifndef NEARBYDEVICESMODEL_H
2 #define NEARBYDEVICESMODEL_H
5 #include <QAbstractListModel>
6 #include <QDBusObjectPath>
8 #include "bluemanager.h"
9 #include "blueadapter.h"
10 #include "asyncagent.h"
11 #include "bluetoothdevice.h"
13 namespace NearbyDevicesModelRoles
17 name = Qt::UserRole + 1,
23 class NearbyItem: public QObject
26 Q_PROPERTY(QString name READ name)
27 Q_PROPERTY(QString address READ address)
28 Q_PROPERTY(QString icon READ icon)
29 Q_PROPERTY(bool legacyPairing READ legacyPairing)
31 NearbyItem(QString name="", QString address="", QString icon="", bool legacy=false, QObject* parent = 0)
40 QString name() { return m_name; }
41 QString address() { return m_addy; }
42 QString icon() { return m_icon; }
43 bool legacyPairing() { return m_legacy; }
51 class NearbyDevicesModel : public QAbstractListModel
54 Q_PROPERTY(BluetoothDevice* pairingDevice READ pairingDevice)
56 NearbyDevicesModel(QObject *parent = 0);
58 BluetoothDevice* pairingDevice() { if(agent) return agent->device(); else return NULL; }
62 int columnCount(const QModelIndex &) const { return 1;}
63 int rowCount(const QModelIndex &parent = QModelIndex()) const;
64 QVariant data(const QModelIndex &index, int role) const;
66 QString hwAddress(int index) { return devices[index]->address(); }
67 QString alias(int index){ return devices[index]->name(); }
68 void pair(QString hwaddy);
69 void discover(bool start);
72 void replyRequestConfirmation(bool confirmed);
73 void replyPasskey(uint passkey);
74 void replyRequestPidCode(QString pidCode);
76 void setAdapterProperty(QString name, QVariant value);
79 void adapterAdded(QDBusObjectPath);
80 void adapterRemoved(QDBusObjectPath);
81 void deviceCreated(QString hwaddy, QVariantMap properties);
82 void deviceRemoved(QString hwaddy);
84 void adapterPropertiesChangedSlot(QString n,QDBusVariant v);
87 void requestConfirmation(QString device, uint code);
88 void requestPasskey(QString device);
89 void requestPidCode(QString device);
92 void nearbyDeviceFound(int index);
93 void nearbyDeviceRemoved(int index);
95 void adapterPropertiesChanged(QString name, QVariant value);
98 QList<NearbyItem*> devices;
99 OrgBluezManagerInterface *manager;
100 OrgBluezAdapterInterface *adapter;
104 #endif // NEARBYDEVICESMODEL_H