// 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 "extensions/common/api/bluetooth/bluetooth_manifest_data.h" #include "extensions/common/api/bluetooth/bluetooth_manifest_permission.h" #include "extensions/common/manifest_constants.h" namespace extensions { BluetoothManifestData::BluetoothManifestData( scoped_ptr permission) : permission_(permission.Pass()) { DCHECK(permission_); } BluetoothManifestData::~BluetoothManifestData() {} // static BluetoothManifestData* BluetoothManifestData::Get(const Extension* extension) { return static_cast( 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 bool BluetoothManifestData::CheckSocketPermitted( const Extension* extension) { const BluetoothManifestData* data = BluetoothManifestData::Get(extension); return data && data->permission()->CheckSocketPermitted(extension); } // static bool BluetoothManifestData::CheckLowEnergyPermitted( const Extension* extension) { const BluetoothManifestData* data = BluetoothManifestData::Get(extension); return data && data->permission()->CheckLowEnergyPermitted(extension); } // static bool BluetoothManifestData::CheckPeripheralPermitted( const Extension* extension) { const BluetoothManifestData* data = BluetoothManifestData::Get(extension); return data && data->permission()->CheckLowEnergyPermitted(extension) && data->permission()->CheckPeripheralPermitted(extension); } // static scoped_ptr BluetoothManifestData::FromValue( const base::Value& value, base::string16* error) { scoped_ptr permission = BluetoothManifestPermission::FromValue(value, error); if (!permission) return scoped_ptr(); return scoped_ptr( new BluetoothManifestData(permission.Pass())).Pass(); } BluetoothPermissionRequest::BluetoothPermissionRequest( const std::string& uuid) : uuid(uuid) {} BluetoothPermissionRequest::~BluetoothPermissionRequest() {} } // namespace extensions