Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / bluetooth_low_energy / utils.h
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
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h"
10 #include "chrome/common/extensions/api/bluetooth_low_energy.h"
11
12 namespace extensions {
13 namespace api {
14 namespace bluetooth_low_energy {
15
16 // TODO(armansito): Remove these functions once the described bug is fixed.
17 // (See crbug.com/368368)
18
19 // Converts a Characteristic to a base::Value. This function is necessary as
20 // json_schema_compiler::util::AddItemToList has no template specialization for
21 // user defined enums, which get treated as integers. This is because
22 // Characteristic contains a list of enum CharacteristicProperty.
23 scoped_ptr<base::DictionaryValue> CharacteristicToValue(Characteristic* from);
24
25 // Converts a Descriptor to a base::Value. This function is necessary as a
26 // Descriptor embeds a Characteristic and that needs special handling as
27 // described above.
28 scoped_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from);
29
30 }  // namespace bluetooth_low_energy
31 }  // namespace api
32 }  // namespace extensions
33
34 #endif  // CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_