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;
}