Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(149)

Side by Side Diff: device/bluetooth/bluetooth_adapter_mac.mm

Issue 1211013005: Added class BluetoothDeviceMac, returns mac device timing data (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pre-hash
Patch Set: adding a retain Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "device/bluetooth/bluetooth_adapter_mac.h" 5 #include "device/bluetooth/bluetooth_adapter_mac.h"
6 6
7 #import <IOBluetooth/objc/IOBluetoothDevice.h> 7 #import <IOBluetooth/objc/IOBluetoothDevice.h>
8 #import <IOBluetooth/objc/IOBluetoothHostController.h> 8 #import <IOBluetooth/objc/IOBluetoothHostController.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 } 384 }
385 385
386 // TODO(krstnmnlsn): This method to be implemented as soon as UpdateDevices can 386 // TODO(krstnmnlsn): This method to be implemented as soon as UpdateDevices can
387 // handle instances of LowEnergyBluetoothDevice in |devices_|. crbug.com/498009 387 // handle instances of LowEnergyBluetoothDevice in |devices_|. crbug.com/498009
388 void BluetoothAdapterMac::LowEnergyDeviceUpdated( 388 void BluetoothAdapterMac::LowEnergyDeviceUpdated(
389 CBPeripheral* peripheral, 389 CBPeripheral* peripheral,
390 NSDictionary* advertisementData, 390 NSDictionary* advertisementData,
391 int rssi) { 391 int rssi) {
392 } 392 }
393 393
394 // TODO(krstnmnlsn): This method assumes all BluetoothDevices in devices_ are
395 // instances of BluetoothDeviceMac. Add support for low energy devices.
396 // crbug.com/498009
397 void BluetoothAdapterMac::UpdateDevices() { 394 void BluetoothAdapterMac::UpdateDevices() {
398 // Notify observers if any previously seen devices are no longer available, 395 // Notify observers if any previously seen devices are no longer available,
399 // i.e. if they are no longer paired, connected, nor recently discovered via 396 // i.e. if they are no longer paired, connected, nor recently discovered via
400 // an inquiry. 397 // an inquiry.
401 std::set<std::string> removed_devices; 398 std::set<std::string> removed_devices;
402 for (DevicesMap::iterator it = devices_.begin(); it != devices_.end(); ++it) { 399 for (DevicesMap::iterator it = devices_.begin(); it != devices_.end(); ++it) {
403 BluetoothDevice* device = it->second; 400 BluetoothDevice* device = it->second;
404 if (device->IsPaired() || device->IsConnected()) 401 if (device->IsPaired() || device->IsConnected())
405 continue; 402 continue;
406 403
407 NSDate* last_inquiry_update = 404 NSDate* last_update_time =
408 static_cast<BluetoothClassicDeviceMac*>(device)->GetLastInquiryUpdate(); 405 static_cast<BluetoothDeviceMac*>(device)->GetLastUpdateTime();
409 if (last_inquiry_update && 406 if (last_update_time &&
410 -[last_inquiry_update timeIntervalSinceNow] < kDiscoveryTimeoutSec) 407 -[last_update_time timeIntervalSinceNow] < kDiscoveryTimeoutSec)
411 continue; 408 continue;
412 409
413 FOR_EACH_OBSERVER( 410 FOR_EACH_OBSERVER(
414 BluetoothAdapter::Observer, observers_, DeviceRemoved(this, device)); 411 BluetoothAdapter::Observer, observers_, DeviceRemoved(this, device));
415 delete device; 412 delete device;
416 removed_devices.insert(it->first); 413 removed_devices.insert(it->first);
417 // The device will be erased from the map in the loop immediately below. 414 // The device will be erased from the map in the loop immediately below.
418 } 415 }
419 for (const std::string& device_address : removed_devices) { 416 for (const std::string& device_address : removed_devices) {
420 size_t num_removed = devices_.erase(device_address); 417 size_t num_removed = devices_.erase(device_address);
421 DCHECK_EQ(num_removed, 1U); 418 DCHECK_EQ(num_removed, 1U);
422 } 419 }
423 420
424 // Add any new paired devices. 421 // Add any new paired devices.
425 for (IOBluetoothDevice* device in [IOBluetoothDevice pairedDevices]) { 422 for (IOBluetoothDevice* device in [IOBluetoothDevice pairedDevices]) {
426 ClassicDeviceAdded(device); 423 ClassicDeviceAdded(device);
427 } 424 }
428 } 425 }
429 426
430 } // namespace device 427 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698