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

Side by Side Diff: device/bluetooth/bluetooth_adapter.h

Issue 1842223003: Remove outdated devices from Android device chooser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased on master Created 4 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <list> 10 #include <list>
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 BluetoothRemoteGattCharacteristic* characteristic); 437 BluetoothRemoteGattCharacteristic* characteristic);
438 void NotifyGattDescriptorAdded(BluetoothRemoteGattDescriptor* descriptor); 438 void NotifyGattDescriptorAdded(BluetoothRemoteGattDescriptor* descriptor);
439 void NotifyGattDescriptorRemoved(BluetoothRemoteGattDescriptor* descriptor); 439 void NotifyGattDescriptorRemoved(BluetoothRemoteGattDescriptor* descriptor);
440 void NotifyGattCharacteristicValueChanged( 440 void NotifyGattCharacteristicValueChanged(
441 BluetoothRemoteGattCharacteristic* characteristic, 441 BluetoothRemoteGattCharacteristic* characteristic,
442 const std::vector<uint8_t>& value); 442 const std::vector<uint8_t>& value);
443 void NotifyGattDescriptorValueChanged( 443 void NotifyGattDescriptorValueChanged(
444 BluetoothRemoteGattDescriptor* descriptor, 444 BluetoothRemoteGattDescriptor* descriptor,
445 const std::vector<uint8_t>& value); 445 const std::vector<uint8_t>& value);
446 446
447 // The timeout in seconds used by RemoveTimedOutDevices.
448 static const base::TimeDelta timeoutSec;
449
447 protected: 450 protected:
448 friend class base::RefCounted<BluetoothAdapter>; 451 friend class base::RefCounted<BluetoothAdapter>;
449 friend class BluetoothDiscoverySession; 452 friend class BluetoothDiscoverySession;
450 friend class BluetoothTestBase; 453 friend class BluetoothTestBase;
451 454
452 typedef base::ScopedPtrHashMap<std::string, std::unique_ptr<BluetoothDevice>> 455 typedef base::ScopedPtrHashMap<std::string, std::unique_ptr<BluetoothDevice>>
453 DevicesMap; 456 DevicesMap;
454 typedef std::pair<BluetoothDevice::PairingDelegate*, PairingDelegatePriority> 457 typedef std::pair<BluetoothDevice::PairingDelegate*, PairingDelegatePriority>
455 PairingDelegatePair; 458 PairingDelegatePair;
456 typedef base::Callback<void(UMABluetoothDiscoverySessionOutcome)> 459 typedef base::Callback<void(UMABluetoothDiscoverySessionOutcome)>
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 void MarkDiscoverySessionsAsInactive(); 535 void MarkDiscoverySessionsAsInactive();
533 536
534 // Removes |discovery_session| from |discovery_sessions_|, if its in there. 537 // Removes |discovery_session| from |discovery_sessions_|, if its in there.
535 // Called by DiscoverySession when an instance is destroyed or becomes 538 // Called by DiscoverySession when an instance is destroyed or becomes
536 // inactive. 539 // inactive.
537 void DiscoverySessionBecameInactive( 540 void DiscoverySessionBecameInactive(
538 BluetoothDiscoverySession* discovery_session); 541 BluetoothDiscoverySession* discovery_session);
539 542
540 void DeleteDeviceForTesting(const std::string& address); 543 void DeleteDeviceForTesting(const std::string& address);
541 544
545 // Removes from |devices_| any previously paired, connected or seen
546 // devices which are no longer present. Notifies observers. Note:
547 // this is only used by platforms where there is no notification of
548 // lost devices.
549 void RemoveTimedOutDevices();
550
542 // Observers of BluetoothAdapter, notified from implementation subclasses. 551 // Observers of BluetoothAdapter, notified from implementation subclasses.
543 base::ObserverList<device::BluetoothAdapter::Observer> observers_; 552 base::ObserverList<device::BluetoothAdapter::Observer> observers_;
544 553
545 // Devices paired with, connected to, discovered by, or visible to the 554 // Devices paired with, connected to, discovered by, or visible to the
546 // adapter. The key is the Bluetooth address of the device and the value is 555 // adapter. The key is the Bluetooth address of the device and the value is
547 // the BluetoothDevice object whose lifetime is managed by the adapter 556 // the BluetoothDevice object whose lifetime is managed by the adapter
548 // instance. 557 // instance.
549 DevicesMap devices_; 558 DevicesMap devices_;
550 559
551 // Default pairing delegates registered with the adapter. 560 // Default pairing delegates registered with the adapter.
(...skipping 23 matching lines...) Expand all
575 std::set<BluetoothDiscoverySession*> discovery_sessions_; 584 std::set<BluetoothDiscoverySession*> discovery_sessions_;
576 585
577 // Note: This should remain the last member so it'll be destroyed and 586 // Note: This should remain the last member so it'll be destroyed and
578 // invalidate its weak pointers before any other members are destroyed. 587 // invalidate its weak pointers before any other members are destroyed.
579 base::WeakPtrFactory<BluetoothAdapter> weak_ptr_factory_; 588 base::WeakPtrFactory<BluetoothAdapter> weak_ptr_factory_;
580 }; 589 };
581 590
582 } // namespace device 591 } // namespace device
583 592
584 #endif // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_ 593 #endif // DEVICE_BLUETOOTH_BLUETOOTH_ADAPTER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698