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

Side by Side Diff: chrome/browser/extensions/api/bluetooth_low_energy/utils.cc

Issue 1915243003: API Bindings for GATT server functionality. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@adapter_and_tests
Patch Set: 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/extensions/api/bluetooth_low_energy/utils.h" 5 #include "chrome/browser/extensions/api/bluetooth_low_energy/utils.h"
6 6
7 #include <stddef.h>
8 #include <iterator>
9 #include <vector>
10
11 #include "base/logging.h"
12
7 namespace extensions { 13 namespace extensions {
8 namespace api { 14 namespace api {
9 namespace bluetooth_low_energy { 15 namespace bluetooth_low_energy {
10 16
11 namespace { 17 namespace {
12 18
13 // Converts a list of CharacteristicProperty to a base::ListValue of strings. 19 // Converts a list of CharacteristicProperty to a base::ListValue of strings.
14 std::unique_ptr<base::ListValue> CharacteristicPropertiesToValue( 20 std::unique_ptr<base::ListValue> CharacteristicPropertiesToValue(
15 const std::vector<CharacteristicProperty> properties) { 21 const std::vector<CharacteristicProperty> properties) {
16 std::unique_ptr<base::ListValue> property_list(new base::ListValue()); 22 std::unique_ptr<base::ListValue> property_list(new base::ListValue());
(...skipping 14 matching lines...) Expand all
31 // failing. 37 // failing.
32 std::vector<CharacteristicProperty> properties = from->properties; 38 std::vector<CharacteristicProperty> properties = from->properties;
33 from->properties.clear(); 39 from->properties.clear();
34 std::unique_ptr<base::DictionaryValue> to = from->ToValue(); 40 std::unique_ptr<base::DictionaryValue> to = from->ToValue();
35 to->SetWithoutPathExpansion( 41 to->SetWithoutPathExpansion(
36 "properties", CharacteristicPropertiesToValue(properties).release()); 42 "properties", CharacteristicPropertiesToValue(properties).release());
37 return to; 43 return to;
38 } 44 }
39 45
40 std::unique_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from) { 46 std::unique_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from) {
47 if (!from->characteristic)
48 return from->ToValue();
49
41 // Copy the characteristic properties and set them later manually. 50 // Copy the characteristic properties and set them later manually.
42 std::vector<CharacteristicProperty> properties = 51 std::vector<CharacteristicProperty> properties =
43 from->characteristic.properties; 52 from->characteristic->properties;
44 from->characteristic.properties.clear(); 53 from->characteristic->properties.clear();
45 std::unique_ptr<base::DictionaryValue> to = from->ToValue(); 54 std::unique_ptr<base::DictionaryValue> to = from->ToValue();
46 55
47 base::DictionaryValue* chrc_value = NULL; 56 base::DictionaryValue* chrc_value = NULL;
48 to->GetDictionaryWithoutPathExpansion("characteristic", &chrc_value); 57 to->GetDictionaryWithoutPathExpansion("characteristic", &chrc_value);
49 DCHECK(chrc_value); 58 DCHECK(chrc_value);
50 chrc_value->SetWithoutPathExpansion( 59 chrc_value->SetWithoutPathExpansion(
51 "properties", CharacteristicPropertiesToValue(properties).release()); 60 "properties", CharacteristicPropertiesToValue(properties).release());
52 return to; 61 return to;
53 } 62 }
54 63
55 } // namespace bluetooth_low_energy 64 } // namespace bluetooth_low_energy
56 } // namespace api 65 } // namespace api
57 } // namespace extensions 66 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698