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 "chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.h"
7 #include "chrome/common/extensions/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()) {
18 BluetoothManifestData::~BluetoothManifestData() {}
21 BluetoothManifestData
* BluetoothManifestData::Get(const Extension
* extension
) {
22 return static_cast<BluetoothManifestData
*>(
23 extension
->GetManifestData(manifest_keys::kBluetooth
));
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
);
35 scoped_ptr
<BluetoothManifestData
> BluetoothManifestData::FromValue(
36 const base::Value
& value
,
37 base::string16
* error
) {
38 scoped_ptr
<BluetoothManifestPermission
> permission
=
39 BluetoothManifestPermission::FromValue(value
, error
);
41 return scoped_ptr
<BluetoothManifestData
>();
43 return scoped_ptr
<BluetoothManifestData
>(
44 new BluetoothManifestData(permission
.Pass())).Pass();
47 BluetoothPermissionRequest::BluetoothPermissionRequest(
48 const std::string
& uuid
)
51 BluetoothPermissionRequest::~BluetoothPermissionRequest() {}
53 } // namespace extensions