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 EXTENSIONS_BROWSER_API_BLUETOOTH_LOW_ENERGY_UTILS_H_
6#define EXTENSIONS_BROWSER_API_BLUETOOTH_LOW_ENERGY_UTILS_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "base/values.h"
10#include "extensions/common/api/bluetooth_low_energy.h"
11
12namespace extensions {
13namespace core_api {
14namespace 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.
23scoped_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.
28scoped_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from);
29
30}  // namespace bluetooth_low_energy
31}  // namespace core_api
32}  // namespace extensions
33
34#endif  // EXTENSIONS_BROWSER_API_BLUETOOTH_LOW_ENERGY_UTILS_H_
35