| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chromeos/dbus/bluetooth_agent_service_provider.h" | 5 #include "chromeos/dbus/bluetooth_agent_service_provider.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 switch (status) { | 340 switch (status) { |
| 341 case Delegate::SUCCESS: { | 341 case Delegate::SUCCESS: { |
| 342 scoped_ptr<dbus::Response> response( | 342 scoped_ptr<dbus::Response> response( |
| 343 dbus::Response::FromMethodCall(method_call)); | 343 dbus::Response::FromMethodCall(method_call)); |
| 344 dbus::MessageWriter writer(response.get()); | 344 dbus::MessageWriter writer(response.get()); |
| 345 writer.AppendString(pincode); | 345 writer.AppendString(pincode); |
| 346 response_sender.Run(response.Pass()); | 346 response_sender.Run(response.Pass()); |
| 347 break; | 347 break; |
| 348 } | 348 } |
| 349 case Delegate::REJECTED: { | 349 case Delegate::REJECTED: { |
| 350 response_sender.Run( | 350 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 351 dbus::ErrorResponse::FromMethodCall( | 351 method_call, bluetooth_agent::kErrorRejected, "rejected")); |
| 352 method_call, bluetooth_agent::kErrorRejected, "rejected") | |
| 353 .PassAs<dbus::Response>()); | |
| 354 break; | 352 break; |
| 355 } | 353 } |
| 356 case Delegate::CANCELLED: { | 354 case Delegate::CANCELLED: { |
| 357 response_sender.Run( | 355 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 358 dbus::ErrorResponse::FromMethodCall( | 356 method_call, bluetooth_agent::kErrorCanceled, "canceled")); |
| 359 method_call, bluetooth_agent::kErrorCanceled, "canceled") | |
| 360 .PassAs<dbus::Response>()); | |
| 361 break; | 357 break; |
| 362 } | 358 } |
| 363 default: | 359 default: |
| 364 NOTREACHED() << "Unexpected status code from delegate: " << status; | 360 NOTREACHED() << "Unexpected status code from delegate: " << status; |
| 365 } | 361 } |
| 366 } | 362 } |
| 367 | 363 |
| 368 // Called by the Delegate to response to a method requesting a Passkey. | 364 // Called by the Delegate to response to a method requesting a Passkey. |
| 369 void OnPasskey(dbus::MethodCall* method_call, | 365 void OnPasskey(dbus::MethodCall* method_call, |
| 370 dbus::ExportedObject::ResponseSender response_sender, | 366 dbus::ExportedObject::ResponseSender response_sender, |
| 371 Delegate::Status status, | 367 Delegate::Status status, |
| 372 uint32 passkey) { | 368 uint32 passkey) { |
| 373 DCHECK(OnOriginThread()); | 369 DCHECK(OnOriginThread()); |
| 374 | 370 |
| 375 switch (status) { | 371 switch (status) { |
| 376 case Delegate::SUCCESS: { | 372 case Delegate::SUCCESS: { |
| 377 scoped_ptr<dbus::Response> response( | 373 scoped_ptr<dbus::Response> response( |
| 378 dbus::Response::FromMethodCall(method_call)); | 374 dbus::Response::FromMethodCall(method_call)); |
| 379 dbus::MessageWriter writer(response.get()); | 375 dbus::MessageWriter writer(response.get()); |
| 380 writer.AppendUint32(passkey); | 376 writer.AppendUint32(passkey); |
| 381 response_sender.Run(response.Pass()); | 377 response_sender.Run(response.Pass()); |
| 382 break; | 378 break; |
| 383 } | 379 } |
| 384 case Delegate::REJECTED: { | 380 case Delegate::REJECTED: { |
| 385 response_sender.Run( | 381 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 386 dbus::ErrorResponse::FromMethodCall( | 382 method_call, bluetooth_agent::kErrorRejected, "rejected")); |
| 387 method_call, bluetooth_agent::kErrorRejected, "rejected") | |
| 388 .PassAs<dbus::Response>()); | |
| 389 break; | 383 break; |
| 390 } | 384 } |
| 391 case Delegate::CANCELLED: { | 385 case Delegate::CANCELLED: { |
| 392 response_sender.Run( | 386 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 393 dbus::ErrorResponse::FromMethodCall( | 387 method_call, bluetooth_agent::kErrorCanceled, "canceled")); |
| 394 method_call, bluetooth_agent::kErrorCanceled, "canceled") | |
| 395 .PassAs<dbus::Response>()); | |
| 396 break; | 388 break; |
| 397 } | 389 } |
| 398 default: | 390 default: |
| 399 NOTREACHED() << "Unexpected status code from delegate: " << status; | 391 NOTREACHED() << "Unexpected status code from delegate: " << status; |
| 400 } | 392 } |
| 401 } | 393 } |
| 402 | 394 |
| 403 // Called by the Delegate in response to a method requiring confirmation. | 395 // Called by the Delegate in response to a method requiring confirmation. |
| 404 void OnConfirmation(dbus::MethodCall* method_call, | 396 void OnConfirmation(dbus::MethodCall* method_call, |
| 405 dbus::ExportedObject::ResponseSender response_sender, | 397 dbus::ExportedObject::ResponseSender response_sender, |
| 406 Delegate::Status status) { | 398 Delegate::Status status) { |
| 407 DCHECK(OnOriginThread()); | 399 DCHECK(OnOriginThread()); |
| 408 | 400 |
| 409 switch (status) { | 401 switch (status) { |
| 410 case Delegate::SUCCESS: { | 402 case Delegate::SUCCESS: { |
| 411 response_sender.Run(dbus::Response::FromMethodCall(method_call)); | 403 response_sender.Run(dbus::Response::FromMethodCall(method_call)); |
| 412 break; | 404 break; |
| 413 } | 405 } |
| 414 case Delegate::REJECTED: { | 406 case Delegate::REJECTED: { |
| 415 response_sender.Run( | 407 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 416 dbus::ErrorResponse::FromMethodCall( | 408 method_call, bluetooth_agent::kErrorRejected, "rejected")); |
| 417 method_call, bluetooth_agent::kErrorRejected, "rejected") | |
| 418 .PassAs<dbus::Response>()); | |
| 419 break; | 409 break; |
| 420 } | 410 } |
| 421 case Delegate::CANCELLED: { | 411 case Delegate::CANCELLED: { |
| 422 response_sender.Run( | 412 response_sender.Run(dbus::ErrorResponse::FromMethodCall( |
| 423 dbus::ErrorResponse::FromMethodCall( | 413 method_call, bluetooth_agent::kErrorCanceled, "canceled")); |
| 424 method_call, bluetooth_agent::kErrorCanceled, "canceled") | |
| 425 .PassAs<dbus::Response>()); | |
| 426 break; | 414 break; |
| 427 } | 415 } |
| 428 default: | 416 default: |
| 429 NOTREACHED() << "Unexpected status code from delegate: " << status; | 417 NOTREACHED() << "Unexpected status code from delegate: " << status; |
| 430 } | 418 } |
| 431 } | 419 } |
| 432 | 420 |
| 433 // Origin thread (i.e. the UI thread in production). | 421 // Origin thread (i.e. the UI thread in production). |
| 434 base::PlatformThreadId origin_thread_id_; | 422 base::PlatformThreadId origin_thread_id_; |
| 435 | 423 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 const dbus::ObjectPath& object_path, | 458 const dbus::ObjectPath& object_path, |
| 471 Delegate* delegate) { | 459 Delegate* delegate) { |
| 472 if (!DBusThreadManager::Get()->IsUsingStub(DBusClientBundle::BLUETOOTH)) { | 460 if (!DBusThreadManager::Get()->IsUsingStub(DBusClientBundle::BLUETOOTH)) { |
| 473 return new BluetoothAgentServiceProviderImpl(bus, object_path, delegate); | 461 return new BluetoothAgentServiceProviderImpl(bus, object_path, delegate); |
| 474 } else { | 462 } else { |
| 475 return new FakeBluetoothAgentServiceProvider(object_path, delegate); | 463 return new FakeBluetoothAgentServiceProvider(object_path, delegate); |
| 476 } | 464 } |
| 477 } | 465 } |
| 478 | 466 |
| 479 } // namespace chromeos | 467 } // namespace chromeos |
| OLD | NEW |