BluetoothDevicesModel::BluetoothDevicesModel(QObject *parent) : QAbstractListModel(parent), m_connected(false), adapter(NULL) { manager = new OrgBluezManagerInterface( "org.bluez", "/", QDBusConnection::systemBus(), this); connect(manager,SIGNAL(DefaultAdapterChanged(QDBusObjectPath)), this,SLOT(defaultAdapterChanged(QDBusObjectPath))); connect(manager,SIGNAL(AdapterRemoved(QDBusObjectPath)),this,SLOT(adapterRemoved(QDBusObjectPath))); defaultAdapterChanged(manager->DefaultAdapter()); 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 }
const Adapter *BluetoothModel::removeAdapater(const QString &adapterId) { const Adapter *adapter = nullptr; adapter = adapterById(adapterId); if (adapter) { m_adapters.remove(adapterId); Q_EMIT adapterRemoved(adapter); Q_EMIT adpaterListChanged(); } return adapter; }