void BluetoothModel::addAdapter(Adapter *adapter) { if (!adapterById(adapter->id())) { m_adapters[adapter->id()] = adapter; Q_EMIT adapterAdded(adapter); Q_EMIT adpaterListChanged(); return; } adapter->deleteLater(); }
BluetoothDevicesModel::BluetoothDevicesModel(QObject *parent) : QAbstractListModel(parent), m_connected(false), adapter(NULL) { manager = new OrgBluezManagerInterface( "org.bluez", "/", QDBusConnection::systemBus(), this); connect(manager,SIGNAL(AdapterAdded(QDBusObjectPath)),this,SLOT(adapterAdded(QDBusObjectPath))); connect(manager,SIGNAL(AdapterRemoved(QDBusObjectPath)),this,SLOT(adapterRemoved(QDBusObjectPath))); adapterAdded(QDBusObjectPath()); QMetaObject properties = BluetoothDevice::staticMetaObject; for(int i=0; i<properties.propertyCount();i++) { m_roleNames[i]=properties.property(i).name(); } m_roleNames[m_roleNames.keys().count()+1] = "bluetoothDevice"; #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) setRoleNames(m_roleNames); #endif }