1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file. 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_ 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_ 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "base/values.h" 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "chrome/common/extensions/api/bluetooth_low_energy.h" 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace extensions { 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace api { 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace bluetooth_low_energy { 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// TODO(armansito): Remove these functions once the described bug is fixed. 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// (See crbug.com/368368) 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Converts a Characteristic to a base::Value. This function is necessary as 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// json_schema_compiler::util::AddItemToList has no template specialization for 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// user defined enums, which get treated as integers. This is because 22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Characteristic contains a list of enum CharacteristicProperty. 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)scoped_ptr<base::DictionaryValue> CharacteristicToValue(Characteristic* from); 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Converts a Descriptor to a base::Value. This function is necessary as a 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Descriptor embeds a Characteristic and that needs special handling as 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// described above. 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)scoped_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from); 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace bluetooth_low_energy 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace api 32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace extensions 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif // CHROME_BROWSER_EXTENSIONS_API_BLUETOOTH_LOW_ENERGY_UTILS_H_ 35