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

Side by Side Diff: device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h

Issue 2102093003: Implement BluetoothDeviceBlueZ::GetServiceRecords. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_ 5 #ifndef DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_
6 #define DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_ 6 #define DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_
7 7
8 #include <cstddef> 8 #include <cstddef>
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "device/bluetooth/bluetooth_export.h" 13 #include "device/bluetooth/bluetooth_export.h"
14 14
15 namespace bluez { 15 namespace bluez {
16 16
17 // This class contains a Bluetooth service attribute. A service attribute is 17 // This class contains a Bluetooth service attribute. A service attribute is
18 // defined by the following fields, 18 // defined by the following fields,
19 // type: This is the type of the attribute. Along with being any of the 19 // type: This is the type of the attribute. Along with being any of the
20 // fixed types, an attribute can also be of type sequence, which means 20 // fixed types, an attribute can also be of type sequence, which means
21 // that it contains an array of other attributes. 21 // that it contains an array of other attributes.
22 // size: This is the size of the attribute. This can be variable for each type. 22 // size: This is the size of the attribute. This can be variable for each type.
23 // For example, a UUID can have the sizes, 2, 4 or 16 bytes. 23 // For example, a UUID can have the sizes, 2, 4 or 16 bytes.
24 // value: This is the raw value of the attribute. For example, for a UUID, it 24 // value: This is the raw value of the attribute. For example, for a UUID, it
25 // will be the string representation of the UUID. For a sequence, it 25 // will be the string representation of the UUID. For a sequence, it
26 // will be an array of other attributes. 26 // will be an array of other attributes.
27 class DEVICE_BLUETOOTH_EXPORT BluetoothServiceAttributeValueBlueZ { 27 class DEVICE_BLUETOOTH_EXPORT BluetoothServiceAttributeValueBlueZ {
28 public: 28 public:
29 enum Type { NULLTYPE, UINT, INT, UUID, STRING, BOOL, SEQUENCE, URL }; 29 enum Type { NULLTYPE = 0, UINT, INT, UUID, STRING, BOOL, SEQUENCE, URL };
30 30
31 using Sequence = std::vector<BluetoothServiceAttributeValueBlueZ>; 31 using Sequence = std::vector<BluetoothServiceAttributeValueBlueZ>;
32 32
33 BluetoothServiceAttributeValueBlueZ(Type type, 33 BluetoothServiceAttributeValueBlueZ(Type type,
34 size_t size, 34 size_t size,
35 std::unique_ptr<base::Value> value); 35 std::unique_ptr<base::Value> value);
36 BluetoothServiceAttributeValueBlueZ(std::unique_ptr<Sequence> sequence); 36 BluetoothServiceAttributeValueBlueZ(std::unique_ptr<Sequence> sequence);
37 BluetoothServiceAttributeValueBlueZ( 37 BluetoothServiceAttributeValueBlueZ(
38 const BluetoothServiceAttributeValueBlueZ& attribute); 38 const BluetoothServiceAttributeValueBlueZ& attribute);
39 BluetoothServiceAttributeValueBlueZ operator=( 39 BluetoothServiceAttributeValueBlueZ operator=(
40 const BluetoothServiceAttributeValueBlueZ& attribute); 40 const BluetoothServiceAttributeValueBlueZ& attribute);
41 ~BluetoothServiceAttributeValueBlueZ(); 41 ~BluetoothServiceAttributeValueBlueZ();
42 42
43 Type type() const { return type_; } 43 Type type() const { return type_; }
44 size_t size() const { return size_; } 44 size_t size() const { return size_; }
45 const Sequence& sequence() const { return *sequence_.get(); } 45 const Sequence& sequence() const { return *sequence_.get(); }
46 const base::Value& value() const { return *value_.get(); } 46 const base::Value& value() const { return *value_.get(); }
47 47
48 private: 48 private:
49 Type type_; 49 Type type_;
50 size_t size_; 50 size_t size_;
51 std::unique_ptr<base::Value> value_; 51 std::unique_ptr<base::Value> value_;
52 std::unique_ptr<Sequence> sequence_; 52 std::unique_ptr<Sequence> sequence_;
53 }; 53 };
54 54
55 } // namespace bluez 55 } // namespace bluez
56 56
57 #endif // DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_ 57 #endif // DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_SERVICE_ATTRIBUTE_VALUE_BLUEZ_H_
OLDNEW
« no previous file with comments | « device/bluetooth/bluez/bluetooth_device_bluez.cc ('k') | device/bluetooth/bluez/bluetooth_service_record_bluez.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698