Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / extensions / common / api / bluetooth / bluetooth_manifest_data.cc
blob4d777cf1e8516b4fdeb1a873c07e5e79e8e01b76
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.
5 #include "extensions/common/api/bluetooth/bluetooth_manifest_data.h"
7 #include "extensions/common/api/bluetooth/bluetooth_manifest_permission.h"
8 #include "extensions/common/manifest_constants.h"
10 namespace extensions {
12 BluetoothManifestData::BluetoothManifestData(
13 scoped_ptr<BluetoothManifestPermission> permission)
14 : permission_(permission.Pass()) {
15 DCHECK(permission_);
18 BluetoothManifestData::~BluetoothManifestData() {}
20 // static
21 BluetoothManifestData* BluetoothManifestData::Get(const Extension* extension) {
22 return static_cast<BluetoothManifestData*>(
23 extension->GetManifestData(manifest_keys::kBluetooth));
26 // static
27 bool BluetoothManifestData::CheckRequest(
28 const Extension* extension,
29 const BluetoothPermissionRequest& request) {
30 const BluetoothManifestData* data = BluetoothManifestData::Get(extension);
31 return data && data->permission()->CheckRequest(extension, request);
34 // static
35 bool BluetoothManifestData::CheckSocketPermitted(
36 const Extension* extension) {
37 const BluetoothManifestData* data = BluetoothManifestData::Get(extension);
38 return data && data->permission()->CheckSocketPermitted(extension);
41 // static
42 bool BluetoothManifestData::CheckLowEnergyPermitted(
43 const Extension* extension) {
44 const BluetoothManifestData* data = BluetoothManifestData::Get(extension);
45 return data && data->permission()->CheckLowEnergyPermitted(extension);
48 // static
49 scoped_ptr<BluetoothManifestData> BluetoothManifestData::FromValue(
50 const base::Value& value,
51 base::string16* error) {
52 scoped_ptr<BluetoothManifestPermission> permission =
53 BluetoothManifestPermission::FromValue(value, error);
54 if (!permission)
55 return scoped_ptr<BluetoothManifestData>();
57 return scoped_ptr<BluetoothManifestData>(
58 new BluetoothManifestData(permission.Pass())).Pass();
61 BluetoothPermissionRequest::BluetoothPermissionRequest(
62 const std::string& uuid)
63 : uuid(uuid) {}
65 BluetoothPermissionRequest::~BluetoothPermissionRequest() {}
67 } // namespace extensions