Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(903)

Unified Diff: chrome/browser/extensions/api/bluetooth/bluetooth_api.cc

Issue 420663003: Extensions: Move bluetooth APIs to extensions/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix android, gn Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/bluetooth/bluetooth_api.cc
diff --git a/chrome/browser/extensions/api/bluetooth/bluetooth_api.cc b/chrome/browser/extensions/api/bluetooth/bluetooth_api.cc
deleted file mode 100644
index 12b61540c2736abfd653e4f024d4959479777ebc..0000000000000000000000000000000000000000
--- a/chrome/browser/extensions/api/bluetooth/bluetooth_api.cc
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright (c) 2012 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/browser/extensions/api/bluetooth/bluetooth_api.h"
-
-#include <string>
-
-#include "base/bind_helpers.h"
-#include "base/lazy_instance.h"
-#include "base/memory/ref_counted.h"
-#include "chrome/browser/extensions/api/bluetooth/bluetooth_api_utils.h"
-#include "chrome/browser/extensions/api/bluetooth/bluetooth_event_router.h"
-#include "chrome/browser/profiles/profile_manager.h"
-#include "chrome/common/extensions/api/bluetooth.h"
-#include "content/public/browser/browser_thread.h"
-#include "device/bluetooth/bluetooth_adapter.h"
-#include "device/bluetooth/bluetooth_device.h"
-#include "extensions/browser/event_router.h"
-
-using content::BrowserContext;
-using content::BrowserThread;
-
-using device::BluetoothAdapter;
-using device::BluetoothDevice;
-
-namespace bluetooth = extensions::api::bluetooth;
-namespace GetDevice = extensions::api::bluetooth::GetDevice;
-namespace GetDevices = extensions::api::bluetooth::GetDevices;
-
-namespace {
-
-const char kInvalidDevice[] = "Invalid device";
-const char kStartDiscoveryFailed[] = "Starting discovery failed";
-const char kStopDiscoveryFailed[] = "Failed to stop discovery";
-
-extensions::BluetoothEventRouter* GetEventRouter(BrowserContext* context) {
- // Note: |context| is valid on UI thread only.
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return extensions::BluetoothAPI::Get(context)->event_router();
-}
-
-} // namespace
-
-namespace extensions {
-
-static base::LazyInstance<BrowserContextKeyedAPIFactory<BluetoothAPI> >
- g_factory = LAZY_INSTANCE_INITIALIZER;
-
-// static
-BrowserContextKeyedAPIFactory<BluetoothAPI>*
-BluetoothAPI::GetFactoryInstance() {
- return g_factory.Pointer();
-}
-
-// static
-BluetoothAPI* BluetoothAPI::Get(BrowserContext* context) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- return GetFactoryInstance()->Get(context);
-}
-
-BluetoothAPI::BluetoothAPI(content::BrowserContext* context)
- : browser_context_(context) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- EventRouter* event_router = EventRouter::Get(browser_context_);
- event_router->RegisterObserver(this,
- bluetooth::OnAdapterStateChanged::kEventName);
- event_router->RegisterObserver(this, bluetooth::OnDeviceAdded::kEventName);
- event_router->RegisterObserver(this, bluetooth::OnDeviceChanged::kEventName);
- event_router->RegisterObserver(this, bluetooth::OnDeviceRemoved::kEventName);
-}
-
-BluetoothAPI::~BluetoothAPI() {}
-
-BluetoothEventRouter* BluetoothAPI::event_router() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (!event_router_) {
- event_router_.reset(new BluetoothEventRouter(browser_context_));
- }
- return event_router_.get();
-}
-
-void BluetoothAPI::Shutdown() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- EventRouter::Get(browser_context_)->UnregisterObserver(this);
-}
-
-void BluetoothAPI::OnListenerAdded(const EventListenerInfo& details) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (event_router()->IsBluetoothSupported())
- event_router()->OnListenerAdded();
-}
-
-void BluetoothAPI::OnListenerRemoved(const EventListenerInfo& details) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (event_router()->IsBluetoothSupported())
- event_router()->OnListenerRemoved();
-}
-
-namespace api {
-
-BluetoothGetAdapterStateFunction::~BluetoothGetAdapterStateFunction() {}
-
-bool BluetoothGetAdapterStateFunction::DoWork(
- scoped_refptr<BluetoothAdapter> adapter) {
- bluetooth::AdapterState state;
- PopulateAdapterState(*adapter.get(), &state);
- results_ = bluetooth::GetAdapterState::Results::Create(state);
- SendResponse(true);
- return true;
-}
-
-BluetoothGetDevicesFunction::~BluetoothGetDevicesFunction() {}
-
-bool BluetoothGetDevicesFunction::DoWork(
- scoped_refptr<BluetoothAdapter> adapter) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-
- base::ListValue* device_list = new base::ListValue;
- SetResult(device_list);
-
- BluetoothAdapter::DeviceList devices = adapter->GetDevices();
- for (BluetoothAdapter::DeviceList::const_iterator iter = devices.begin();
- iter != devices.end();
- ++iter) {
- const BluetoothDevice* device = *iter;
- DCHECK(device);
-
- bluetooth::Device extension_device;
- bluetooth::BluetoothDeviceToApiDevice(*device, &extension_device);
-
- device_list->Append(extension_device.ToValue().release());
- }
-
- SendResponse(true);
-
- return true;
-}
-
-BluetoothGetDeviceFunction::~BluetoothGetDeviceFunction() {}
-
-bool BluetoothGetDeviceFunction::DoWork(
- scoped_refptr<BluetoothAdapter> adapter) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-
- scoped_ptr<GetDevice::Params> params(GetDevice::Params::Create(*args_));
- EXTENSION_FUNCTION_VALIDATE(params.get() != NULL);
-
- BluetoothDevice* device = adapter->GetDevice(params->device_address);
- if (device) {
- bluetooth::Device extension_device;
- bluetooth::BluetoothDeviceToApiDevice(*device, &extension_device);
- SetResult(extension_device.ToValue().release());
- SendResponse(true);
- } else {
- SetError(kInvalidDevice);
- SendResponse(false);
- }
-
- return false;
-}
-
-void BluetoothStartDiscoveryFunction::OnSuccessCallback() {
- SendResponse(true);
-}
-
-void BluetoothStartDiscoveryFunction::OnErrorCallback() {
- SetError(kStartDiscoveryFailed);
- SendResponse(false);
-}
-
-bool BluetoothStartDiscoveryFunction::DoWork(
- scoped_refptr<BluetoothAdapter> adapter) {
- GetEventRouter(browser_context())->StartDiscoverySession(
- adapter.get(),
- extension_id(),
- base::Bind(&BluetoothStartDiscoveryFunction::OnSuccessCallback, this),
- base::Bind(&BluetoothStartDiscoveryFunction::OnErrorCallback, this));
-
- return true;
-}
-
-void BluetoothStopDiscoveryFunction::OnSuccessCallback() {
- SendResponse(true);
-}
-
-void BluetoothStopDiscoveryFunction::OnErrorCallback() {
- SetError(kStopDiscoveryFailed);
- SendResponse(false);
-}
-
-bool BluetoothStopDiscoveryFunction::DoWork(
- scoped_refptr<BluetoothAdapter> adapter) {
- GetEventRouter(browser_context())->StopDiscoverySession(
- adapter.get(),
- extension_id(),
- base::Bind(&BluetoothStopDiscoveryFunction::OnSuccessCallback, this),
- base::Bind(&BluetoothStopDiscoveryFunction::OnErrorCallback, this));
-
- return true;
-}
-
-} // namespace api
-} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698