diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-08-20 09:21:49 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-08-25 14:03:25 +0200 |
commit | 0a8327d422228489a62aa8fed8bdaa9d1291c055 (patch) | |
tree | 325d64d985793adc1f93d0a8f7619c7a9102d11d /examples/bluetooth/lowenergyscanner/device.cpp | |
parent | 7a3a3f7664e22dbe2e5bc8f016d95ee1f9558a2e (diff) |
Update and extend the lowenergyscanner example docs
Change-Id: I0be30191cbceb963c7e1bfd7e55a1f2f38772d5f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Diffstat (limited to 'examples/bluetooth/lowenergyscanner/device.cpp')
-rw-r--r-- | examples/bluetooth/lowenergyscanner/device.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/examples/bluetooth/lowenergyscanner/device.cpp b/examples/bluetooth/lowenergyscanner/device.cpp index 3d82800f..9ffb4d56 100644 --- a/examples/bluetooth/lowenergyscanner/device.cpp +++ b/examples/bluetooth/lowenergyscanner/device.cpp @@ -52,12 +52,14 @@ Device::Device(): connected(false), controller(0), m_deviceScanState(false) { + //! [les-devicediscovery-1] discoveryAgent = new QBluetoothDeviceDiscoveryAgent(); connect(discoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)), this, SLOT(addDevice(const QBluetoothDeviceInfo&))); connect(discoveryAgent, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)), this, SLOT(deviceScanError(QBluetoothDeviceDiscoveryAgent::Error))); connect(discoveryAgent, SIGNAL(finished()), this, SLOT(deviceScanFinished())); + //! [les-devicediscovery-1] setUpdate("Search"); } @@ -81,11 +83,14 @@ void Device::startDeviceDiscovery() emit devicesUpdated(); setUpdate("Scanning for devices ..."); + //! [les-devicediscovery-2] discoveryAgent->start(); + //! [les-devicediscovery-2] m_deviceScanState = true; Q_EMIT stateChanged(); } +//! [les-devicediscovery-3] void Device::addDevice(const QBluetoothDeviceInfo &info) { if (info.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration) { @@ -94,6 +99,7 @@ void Device::addDevice(const QBluetoothDeviceInfo &info) setUpdate("Last device added: " + d->getName()); } } +//! [les-devicediscovery-3] void Device::deviceScanFinished() { @@ -154,6 +160,7 @@ void Device::scanServices(const QString &address) controller = 0; } + //! [les-controller-1] if (!controller) { // Connecting signals and slots for connecting to LE services. controller = new QLowEnergyController(currentDevice.getDevice().address()); @@ -170,20 +177,24 @@ void Device::scanServices(const QString &address) } controller->connectToDevice(); + //! [les-controller-1] } void Device::addLowEnergyService(const QBluetoothUuid &serviceUuid) { + //! [les-service-1] QLowEnergyService *service = controller->createServiceObject(serviceUuid); if (!service) { qWarning() << "Cannot create service for uuid"; return; } + //! [les-service-1] ServiceInfo *serv = new ServiceInfo(service); m_services.append(serv); emit servicesUpdated(); } +//! [les-service-1] void Device::serviceScanDone() { @@ -209,9 +220,11 @@ void Device::connectToService(const QString &uuid) emit characteristicsUpdated(); if (service->state() == QLowEnergyService::DiscoveryRequired) { + //! [les-service-3] connect(service, SIGNAL(stateChanged(QLowEnergyService::ServiceState)), this, SLOT(serviceDetailsDiscovered(QLowEnergyService::ServiceState))); service->discoverDetails(); + //! [les-service-3] return; } @@ -229,7 +242,9 @@ void Device::deviceConnected() { setUpdate("Discovering services!"); connected = true; + //! [les-service-2] controller->discoverServices(); + //! [les-service-2] } void Device::errorReceived(QLowEnergyController::Error /*error*/) @@ -265,11 +280,13 @@ void Device::serviceDetailsDiscovered(QLowEnergyService::ServiceState newState) if (!service) return; + //! [les-chars] const QList<QLowEnergyCharacteristic> chars = service->characteristics(); foreach (const QLowEnergyCharacteristic &ch, chars) { CharacteristicInfo *cInfo = new CharacteristicInfo(ch); m_characteristics.append(cInfo); } + //! [les-chars] emit characteristicsUpdated(); } |