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

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

Issue 2063353002: device/bluetooth: split out transport enum (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixing new use in components/arc/bluetooth Created 4 years, 6 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
« no previous file with comments | « device/bluetooth/bluetooth_common.h ('k') | device/bluetooth/bluetooth_discovery_filter.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_DISCOVERY_FILTER_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUETOOTH_DISCOVERY_FILTER_H_
6 #define DEVICE_BLUETOOTH_BLUETOOTH_DISCOVERY_FILTER_H_ 6 #define DEVICE_BLUETOOTH_BLUETOOTH_DISCOVERY_FILTER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
11 #include <set> 11 #include <set>
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/scoped_vector.h" 14 #include "base/memory/scoped_vector.h"
15 #include "device/bluetooth/bluetooth_common.h"
15 #include "device/bluetooth/bluetooth_export.h" 16 #include "device/bluetooth/bluetooth_export.h"
16 #include "device/bluetooth/bluetooth_uuid.h" 17 #include "device/bluetooth/bluetooth_uuid.h"
17 18
18 namespace device { 19 namespace device {
19 20
20 // Used to keep a discovery filter that can be used to limit reported devices. 21 // Used to keep a discovery filter that can be used to limit reported devices.
21 class DEVICE_BLUETOOTH_EXPORT BluetoothDiscoveryFilter { 22 class DEVICE_BLUETOOTH_EXPORT BluetoothDiscoveryFilter {
22 public: 23 public:
23 // Possible transports to use for scan filter. 24 BluetoothDiscoveryFilter(BluetoothTransport transport);
24 enum Transport {
25 TRANSPORT_CLASSIC = 0x01,
26 TRANSPORT_LE = 0x02,
27 TRANSPORT_DUAL = (TRANSPORT_CLASSIC | TRANSPORT_LE)
28 };
29 using TransportMask = uint8_t;
30
31 BluetoothDiscoveryFilter(TransportMask transport);
32 ~BluetoothDiscoveryFilter(); 25 ~BluetoothDiscoveryFilter();
33 26
34 // These getters return true when given field is set in filter, and copy this 27 // These getters return true when given field is set in filter, and copy this
35 // value to |out_*| parameter. If value is not set, returns false. 28 // value to |out_*| parameter. If value is not set, returns false.
36 // Thes setters assign given value to proper filter field. 29 // Thes setters assign given value to proper filter field.
37 bool GetRSSI(int16_t* out_rssi) const; 30 bool GetRSSI(int16_t* out_rssi) const;
38 void SetRSSI(int16_t rssi); 31 void SetRSSI(int16_t rssi);
39 bool GetPathloss(uint16_t* out_pathloss) const; 32 bool GetPathloss(uint16_t* out_pathloss) const;
40 void SetPathloss(uint16_t pathloss); 33 void SetPathloss(uint16_t pathloss);
41 34
42 // Return and set transport field of this filter. 35 // Return and set transport field of this filter.
43 TransportMask GetTransport() const; 36 BluetoothTransport GetTransport() const;
44 void SetTransport(TransportMask transport); 37 void SetTransport(BluetoothTransport transport);
45 38
46 // Make |out_uuids| represent all uuids assigned to this filter. 39 // Make |out_uuids| represent all uuids assigned to this filter.
47 void GetUUIDs(std::set<device::BluetoothUUID>& out_uuids) const; 40 void GetUUIDs(std::set<device::BluetoothUUID>& out_uuids) const;
48 41
49 // Add UUID to internal UUIDs filter. If UUIDs filter doesn't exist, it will 42 // Add UUID to internal UUIDs filter. If UUIDs filter doesn't exist, it will
50 // be created. 43 // be created.
51 void AddUUID(const device::BluetoothUUID& uuid); 44 void AddUUID(const device::BluetoothUUID& uuid);
52 45
53 // Copy content of |filter| and assigns it to this filter. 46 // Copy content of |filter| and assigns it to this filter.
54 void CopyFrom(const BluetoothDiscoveryFilter& filter); 47 void CopyFrom(const BluetoothDiscoveryFilter& filter);
55 48
56 // Check if two filters are equal. 49 // Check if two filters are equal.
57 bool Equals(const BluetoothDiscoveryFilter& filter) const; 50 bool Equals(const BluetoothDiscoveryFilter& filter) const;
58 51
59 // Returns true if all fields in filter are empty 52 // Returns true if all fields in filter are empty
60 bool IsDefault() const; 53 bool IsDefault() const;
61 54
62 // Returns result of merging two filters together. If at least one of the 55 // Returns result of merging two filters together. If at least one of the
63 // filters is NULL this will return an empty filter 56 // filters is NULL this will return an empty filter
64 static std::unique_ptr<device::BluetoothDiscoveryFilter> Merge( 57 static std::unique_ptr<device::BluetoothDiscoveryFilter> Merge(
65 const device::BluetoothDiscoveryFilter* filter_a, 58 const device::BluetoothDiscoveryFilter* filter_a,
66 const device::BluetoothDiscoveryFilter* filter_b); 59 const device::BluetoothDiscoveryFilter* filter_b);
67 60
68 private: 61 private:
69 std::unique_ptr<int16_t> rssi_; 62 std::unique_ptr<int16_t> rssi_;
70 std::unique_ptr<uint16_t> pathloss_; 63 std::unique_ptr<uint16_t> pathloss_;
71 TransportMask transport_; 64 BluetoothTransport transport_;
72 ScopedVector<device::BluetoothUUID> uuids_; 65 ScopedVector<device::BluetoothUUID> uuids_;
73 66
74 DISALLOW_COPY_AND_ASSIGN(BluetoothDiscoveryFilter); 67 DISALLOW_COPY_AND_ASSIGN(BluetoothDiscoveryFilter);
75 }; 68 };
76 69
77 } // namespace device 70 } // namespace device
78 71
79 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DISCOVERY_FILTER_H_ 72 #endif // DEVICE_BLUETOOTH_BLUETOOTH_DISCOVERY_FILTER_H_
OLDNEW
« no previous file with comments | « device/bluetooth/bluetooth_common.h ('k') | device/bluetooth/bluetooth_discovery_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698