Home | History | Annotate | Download | only in bluetooth
      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.
      4 
      5 #include "extensions/common/api/bluetooth/bluetooth_manifest_data.h"
      6 
      7 #include "extensions/common/api/bluetooth/bluetooth_manifest_permission.h"
      8 #include "extensions/common/manifest_constants.h"
      9 
     10 namespace extensions {
     11 
     12 BluetoothManifestData::BluetoothManifestData(
     13     scoped_ptr<BluetoothManifestPermission> permission)
     14     : permission_(permission.Pass()) {
     15   DCHECK(permission_);
     16 }
     17 
     18 BluetoothManifestData::~BluetoothManifestData() {}
     19 
     20 // static
     21 BluetoothManifestData* BluetoothManifestData::Get(const Extension* extension) {
     22   return static_cast<BluetoothManifestData*>(
     23       extension->GetManifestData(manifest_keys::kBluetooth));
     24 }
     25 
     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);
     32 }
     33 
     34 // static
     35 bool BluetoothManifestData::CheckSocketPermitted(
     36     const Extension* extension) {
     37   const BluetoothManifestData* data = BluetoothManifestData::Get(extension);
     38   return data && data->permission()->CheckSocketPermitted(extension);
     39 }
     40 
     41 // static
     42 bool BluetoothManifestData::CheckLowEnergyPermitted(
     43     const Extension* extension) {
     44   const BluetoothManifestData* data = BluetoothManifestData::Get(extension);
     45   return data && data->permission()->CheckLowEnergyPermitted(extension);
     46 }
     47 
     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>();
     56 
     57   return scoped_ptr<BluetoothManifestData>(
     58              new BluetoothManifestData(permission.Pass())).Pass();
     59 }
     60 
     61 BluetoothPermissionRequest::BluetoothPermissionRequest(
     62     const std::string& uuid)
     63     : uuid(uuid) {}
     64 
     65 BluetoothPermissionRequest::~BluetoothPermissionRequest() {}
     66 
     67 }  // namespace extensions
     68