QBluetoothDeviceDiscoveryAgentPrivate::QBluetoothDeviceDiscoveryAgentPrivate( const QBluetoothAddress &deviceAdapter, QBluetoothDeviceDiscoveryAgent *parent) : lastError(QBluetoothDeviceDiscoveryAgent::NoError), m_adapterAddress(deviceAdapter), pendingCancel(false), pendingStart(false), manager(0), adapter(0), managerBluez5(0), adapterBluez5(0), discoveryTimer(0), useExtendedDiscovery(false), q_ptr(parent) { Q_Q(QBluetoothDeviceDiscoveryAgent); if (isBluez5()) { managerBluez5 = new OrgFreedesktopDBusObjectManagerInterface( QStringLiteral("org.bluez"), QStringLiteral("/"), QDBusConnection::systemBus(), parent); QObject::connect(managerBluez5, SIGNAL(InterfacesAdded(QDBusObjectPath,InterfaceList)), q, SLOT(_q_InterfacesAdded(QDBusObjectPath,InterfaceList))); } else { manager = new OrgBluezManagerInterface(QStringLiteral("org.bluez"), QStringLiteral("/"), QDBusConnection::systemBus(), parent); QObject::connect(&extendedDiscoveryTimer, SIGNAL(timeout()), q, SLOT(_q_extendedDeviceDiscoveryTimeout())); extendedDiscoveryTimer.setInterval(10000); extendedDiscoveryTimer.setSingleShot(true); } inquiryType = QBluetoothDeviceDiscoveryAgent::GeneralUnlimitedInquiry; }
NeardHelper::NeardHelper(QObject *parent) : QObject(parent) { qDBusRegisterMetaType<InterfaceList>(); qDBusRegisterMetaType<ManagedObjectList>(); m_dbusObjectManager = new OrgFreedesktopDBusObjectManagerInterface(QStringLiteral("org.neard"), QStringLiteral("/"), QDBusConnection::systemBus(), this); if (!m_dbusObjectManager->isValid()) { qCCritical(QT_NFC_NEARD) << "dbus object manager invalid"; return; } connect(m_dbusObjectManager, SIGNAL(InterfacesAdded(QDBusObjectPath,InterfaceList)), this, SLOT(interfacesAdded(QDBusObjectPath,InterfaceList))); connect(m_dbusObjectManager, SIGNAL(InterfacesRemoved(QDBusObjectPath,QStringList)), this, SLOT(interfacesRemoved(QDBusObjectPath,QStringList))); }
void Udisks2Lister::Init() { udisks2_interface_.reset(new OrgFreedesktopDBusObjectManagerInterface( udisks2_service_, "/org/freedesktop/UDisks2", QDBusConnection::systemBus())); QDBusPendingReply<ManagedObjectList> reply = udisks2_interface_->GetManagedObjects(); reply.waitForFinished(); if (!reply.isValid()) { qLog(Warning) << "Error enumerating udisks2 devices:" << reply.error().name() << reply.error().message(); udisks2_interface_.reset(); return; } for (const QDBusObjectPath& path : reply.value().keys()) { auto partition_data = ReadPartitionData(path); if (!partition_data.dbus_path.isEmpty()) { QWriteLocker locker(&device_data_lock_); device_data_[partition_data.unique_id()] = partition_data; } } for (const auto& id : device_data_.keys()) { emit DeviceAdded(id); } connect(udisks2_interface_.get(), SIGNAL(InterfacesAdded(QDBusObjectPath, InterfacesAndProperties)), SLOT(DBusInterfaceAdded(QDBusObjectPath, InterfacesAndProperties))); connect(udisks2_interface_.get(), SIGNAL(InterfacesRemoved(QDBusObjectPath, QStringList)), SLOT(DBusInterfaceRemoved(QDBusObjectPath, QStringList))); }