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

Side by Side Diff: chrome/browser/extensions/api/bluetooth/bluetooth_api.cc

Issue 10815072: Bluetooth API: improve discovery (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix licenses Created 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/bluetooth/bluetooth_api.h" 5 #include "chrome/browser/extensions/api/bluetooth/bluetooth_api.h"
6 6
7 #if defined(OS_CHROMEOS) 7 #if defined(OS_CHROMEOS)
8 #include <errno.h> 8 #include <errno.h>
9 #endif 9 #endif
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 const char kCouldNotGetLocalOutOfBandPairingData[] = 48 const char kCouldNotGetLocalOutOfBandPairingData[] =
49 "Could not get local Out Of Band Pairing Data"; 49 "Could not get local Out Of Band Pairing Data";
50 const char kCouldNotSetOutOfBandPairingData[] = 50 const char kCouldNotSetOutOfBandPairingData[] =
51 "Could not set Out Of Band Pairing Data"; 51 "Could not set Out Of Band Pairing Data";
52 const char kFailedToConnect[] = "Connection failed"; 52 const char kFailedToConnect[] = "Connection failed";
53 const char kInvalidDevice[] = "Invalid device"; 53 const char kInvalidDevice[] = "Invalid device";
54 const char kInvalidUuid[] = "Invalid UUID"; 54 const char kInvalidUuid[] = "Invalid UUID";
55 const char kServiceDiscoveryFailed[] = "Service discovery failed"; 55 const char kServiceDiscoveryFailed[] = "Service discovery failed";
56 const char kSocketNotFoundError[] = "Socket not found: invalid socket id"; 56 const char kSocketNotFoundError[] = "Socket not found: invalid socket id";
57 const char kStartDiscoveryFailed[] = 57 const char kStartDiscoveryFailed[] = "Starting discovery failed";
58 "Starting discovery failed, or already discovering";
59 const char kStopDiscoveryFailed[] = "Failed to stop discovery"; 58 const char kStopDiscoveryFailed[] = "Failed to stop discovery";
60 59
61 } // namespace 60 } // namespace
62 61
63 namespace Connect = extensions::api::experimental_bluetooth::Connect; 62 namespace Connect = extensions::api::experimental_bluetooth::Connect;
64 namespace Disconnect = extensions::api::experimental_bluetooth::Disconnect; 63 namespace Disconnect = extensions::api::experimental_bluetooth::Disconnect;
65 namespace GetDevices = extensions::api::experimental_bluetooth::GetDevices; 64 namespace GetDevices = extensions::api::experimental_bluetooth::GetDevices;
66 namespace GetServices = extensions::api::experimental_bluetooth::GetServices; 65 namespace GetServices = extensions::api::experimental_bluetooth::GetServices;
67 namespace Read = extensions::api::experimental_bluetooth::Read; 66 namespace Read = extensions::api::experimental_bluetooth::Read;
68 namespace SetOutOfBandPairingData = 67 namespace SetOutOfBandPairingData =
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 bool BluetoothGetLocalOutOfBandPairingDataFunction::RunImpl() { 451 bool BluetoothGetLocalOutOfBandPairingDataFunction::RunImpl() {
453 GetMutableAdapter(profile())->ReadLocalOutOfBandPairingData( 452 GetMutableAdapter(profile())->ReadLocalOutOfBandPairingData(
454 base::Bind(&BluetoothGetLocalOutOfBandPairingDataFunction::ReadCallback, 453 base::Bind(&BluetoothGetLocalOutOfBandPairingDataFunction::ReadCallback,
455 this), 454 this),
456 base::Bind(&BluetoothGetLocalOutOfBandPairingDataFunction::ErrorCallback, 455 base::Bind(&BluetoothGetLocalOutOfBandPairingDataFunction::ErrorCallback,
457 this)); 456 this));
458 return true; 457 return true;
459 } 458 }
460 459
461 void BluetoothStartDiscoveryFunction::OnSuccessCallback() { 460 void BluetoothStartDiscoveryFunction::OnSuccessCallback() {
461 GetEventRouter(profile())->SetResponsibleForDiscovery(true);
462 SendResponse(true); 462 SendResponse(true);
463 } 463 }
464 464
465 void BluetoothStartDiscoveryFunction::OnErrorCallback() { 465 void BluetoothStartDiscoveryFunction::OnErrorCallback() {
466 SetError(kStartDiscoveryFailed); 466 SetError(kStartDiscoveryFailed);
467 SendResponse(false); 467 SendResponse(false);
468 } 468 }
469 469
470 bool BluetoothStartDiscoveryFunction::RunImpl() { 470 bool BluetoothStartDiscoveryFunction::RunImpl() {
471 GetEventRouter(profile())->SetSendDiscoveryEvents(true); 471 GetEventRouter(profile())->SetSendDiscoveryEvents(true);
472 472
473 // BluetoothAdapter will throw an error if we SetDiscovering(true) when 473 // If the adapter is already discovering, there is nothing else to do.
474 // discovery is already in progress
475 if (GetMutableAdapter(profile())->IsDiscovering()) { 474 if (GetMutableAdapter(profile())->IsDiscovering()) {
476 SendResponse(true); 475 SendResponse(true);
477 return true; 476 return true;
478 } 477 }
479 478
480 GetMutableAdapter(profile())->SetDiscovering(true, 479 GetMutableAdapter(profile())->SetDiscovering(true,
481 base::Bind(&BluetoothStartDiscoveryFunction::OnSuccessCallback, this), 480 base::Bind(&BluetoothStartDiscoveryFunction::OnSuccessCallback, this),
482 base::Bind(&BluetoothStartDiscoveryFunction::OnErrorCallback, this)); 481 base::Bind(&BluetoothStartDiscoveryFunction::OnErrorCallback, this));
483 return true; 482 return true;
484 } 483 }
485 484
486 void BluetoothStopDiscoveryFunction::OnSuccessCallback() { 485 void BluetoothStopDiscoveryFunction::OnSuccessCallback() {
487 SendResponse(true); 486 SendResponse(true);
488 } 487 }
489 488
490 void BluetoothStopDiscoveryFunction::OnErrorCallback() { 489 void BluetoothStopDiscoveryFunction::OnErrorCallback() {
491 SetError(kStopDiscoveryFailed); 490 SetError(kStopDiscoveryFailed);
492 SendResponse(false); 491 SendResponse(false);
493 } 492 }
494 493
495 bool BluetoothStopDiscoveryFunction::RunImpl() { 494 bool BluetoothStopDiscoveryFunction::RunImpl() {
496 GetEventRouter(profile())->SetSendDiscoveryEvents(false); 495 GetEventRouter(profile())->SetSendDiscoveryEvents(false);
497 GetMutableAdapter(profile())->SetDiscovering(false, 496 if (GetEventRouter(profile())->IsResponsibleForDiscovery()) {
498 base::Bind(&BluetoothStopDiscoveryFunction::OnSuccessCallback, this), 497 GetMutableAdapter(profile())->SetDiscovering(false,
499 base::Bind(&BluetoothStopDiscoveryFunction::OnErrorCallback, this)); 498 base::Bind(&BluetoothStopDiscoveryFunction::OnSuccessCallback, this),
499 base::Bind(&BluetoothStopDiscoveryFunction::OnErrorCallback, this));
500 }
500 return true; 501 return true;
501 } 502 }
502 503
503 #else 504 #else
504 505
505 // ----------------------------------------------------------------------------- 506 // -----------------------------------------------------------------------------
506 // NIY stubs 507 // NIY stubs
507 // ----------------------------------------------------------------------------- 508 // -----------------------------------------------------------------------------
508 bool BluetoothIsAvailableFunction::RunImpl() { 509 bool BluetoothIsAvailableFunction::RunImpl() {
509 NOTREACHED() << "Not implemented yet"; 510 NOTREACHED() << "Not implemented yet";
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 #endif 588 #endif
588 589
589 BluetoothReadFunction::BluetoothReadFunction() {} 590 BluetoothReadFunction::BluetoothReadFunction() {}
590 BluetoothReadFunction::~BluetoothReadFunction() {} 591 BluetoothReadFunction::~BluetoothReadFunction() {}
591 592
592 BluetoothWriteFunction::BluetoothWriteFunction() {} 593 BluetoothWriteFunction::BluetoothWriteFunction() {}
593 BluetoothWriteFunction::~BluetoothWriteFunction() {} 594 BluetoothWriteFunction::~BluetoothWriteFunction() {}
594 595
595 } // namespace api 596 } // namespace api
596 } // namespace extensions 597 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698