diff options
Diffstat (limited to 'chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.cc')
-rw-r--r-- | chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.cc | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.cc b/chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.cc new file mode 100644 index 0000000..237dddb --- /dev/null +++ b/chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.cc @@ -0,0 +1,53 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/common/extensions/api/bluetooth/bluetooth_manifest_data.h" + +#include "chrome/common/extensions/api/bluetooth/bluetooth_manifest_permission.h" +#include "extensions/common/manifest_constants.h" + +namespace extensions { + +BluetoothManifestData::BluetoothManifestData( + scoped_ptr<BluetoothManifestPermission> permission) + : permission_(permission.Pass()) { + DCHECK(permission_); +} + +BluetoothManifestData::~BluetoothManifestData() {} + +// static +BluetoothManifestData* BluetoothManifestData::Get(const Extension* extension) { + return static_cast<BluetoothManifestData*>( + extension->GetManifestData(manifest_keys::kBluetooth)); +} + +// static +bool BluetoothManifestData::CheckRequest( + const Extension* extension, + const BluetoothPermissionRequest& request) { + const BluetoothManifestData* data = BluetoothManifestData::Get(extension); + return data && data->permission()->CheckRequest(extension, request); +} + +// static +scoped_ptr<BluetoothManifestData> BluetoothManifestData::FromValue( + const base::Value& value, + base::string16* error) { + scoped_ptr<BluetoothManifestPermission> permission = + BluetoothManifestPermission::FromValue(value, error); + if (!permission) + return scoped_ptr<BluetoothManifestData>(); + + return scoped_ptr<BluetoothManifestData>( + new BluetoothManifestData(permission.Pass())).Pass(); +} + +BluetoothPermissionRequest::BluetoothPermissionRequest( + const std::string& profile_uuid) + : profile_uuid(profile_uuid) {} + +BluetoothPermissionRequest::~BluetoothPermissionRequest() {} + +} // namespace extensions |