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 "device/bluetooth/bluetooth_adapter_bluez.h" | 5 #include "device/bluetooth/bluetooth_adapter_bluez.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
817 VLOG(1) << "Registering pairing agent"; | 817 VLOG(1) << "Registering pairing agent"; |
818 bluez::BluezDBusManager::Get() | 818 bluez::BluezDBusManager::Get() |
819 ->GetBluetoothAgentManagerClient() | 819 ->GetBluetoothAgentManagerClient() |
820 ->RegisterAgent(dbus::ObjectPath(kAgentPath), | 820 ->RegisterAgent(dbus::ObjectPath(kAgentPath), |
821 bluetooth_agent_manager::kKeyboardDisplayCapability, | 821 bluetooth_agent_manager::kKeyboardDisplayCapability, |
822 base::Bind(&BluetoothAdapterBlueZ::OnRegisterAgent, | 822 base::Bind(&BluetoothAdapterBlueZ::OnRegisterAgent, |
823 weak_ptr_factory_.GetWeakPtr()), | 823 weak_ptr_factory_.GetWeakPtr()), |
824 base::Bind(&BluetoothAdapterBlueZ::OnRegisterAgentError, | 824 base::Bind(&BluetoothAdapterBlueZ::OnRegisterAgentError, |
825 weak_ptr_factory_.GetWeakPtr())); | 825 weak_ptr_factory_.GetWeakPtr())); |
826 | 826 |
827 SetDefaultAdapterName(); | 827 #if defined(OS_CHROMEOS) |
| 828 SetStandardChromeOSAdapterName(); |
| 829 #endif |
828 | 830 |
829 bluez::BluetoothAdapterClient::Properties* properties = | 831 bluez::BluetoothAdapterClient::Properties* properties = |
830 bluez::BluezDBusManager::Get() | 832 bluez::BluezDBusManager::Get() |
831 ->GetBluetoothAdapterClient() | 833 ->GetBluetoothAdapterClient() |
832 ->GetProperties(object_path_); | 834 ->GetProperties(object_path_); |
833 | 835 |
834 PresentChanged(true); | 836 PresentChanged(true); |
835 | 837 |
836 if (properties->powered.value()) | 838 if (properties->powered.value()) |
837 PoweredChanged(true); | 839 PoweredChanged(true); |
838 if (properties->discoverable.value()) | 840 if (properties->discoverable.value()) |
839 DiscoverableChanged(true); | 841 DiscoverableChanged(true); |
840 if (properties->discovering.value()) | 842 if (properties->discovering.value()) |
841 DiscoveringChanged(true); | 843 DiscoveringChanged(true); |
842 | 844 |
843 std::vector<dbus::ObjectPath> device_paths = | 845 std::vector<dbus::ObjectPath> device_paths = |
844 bluez::BluezDBusManager::Get() | 846 bluez::BluezDBusManager::Get() |
845 ->GetBluetoothDeviceClient() | 847 ->GetBluetoothDeviceClient() |
846 ->GetDevicesForAdapter(object_path_); | 848 ->GetDevicesForAdapter(object_path_); |
847 | 849 |
848 for (std::vector<dbus::ObjectPath>::iterator iter = device_paths.begin(); | 850 for (std::vector<dbus::ObjectPath>::iterator iter = device_paths.begin(); |
849 iter != device_paths.end(); ++iter) { | 851 iter != device_paths.end(); ++iter) { |
850 DeviceAdded(*iter); | 852 DeviceAdded(*iter); |
851 } | 853 } |
852 } | 854 } |
853 | 855 |
854 void BluetoothAdapterBlueZ::SetDefaultAdapterName() { | 856 #if defined(OS_CHROMEOS) |
| 857 void BluetoothAdapterBlueZ::SetStandardChromeOSAdapterName() { |
855 DCHECK(IsPresent()); | 858 DCHECK(IsPresent()); |
856 | 859 |
857 std::string alias; | 860 std::string alias; |
858 #if defined(OS_CHROMEOS) | |
859 switch (chromeos::GetDeviceType()) { | 861 switch (chromeos::GetDeviceType()) { |
860 case chromeos::DeviceType::kChromebase: | 862 case chromeos::DeviceType::kChromebase: |
861 alias = "Chromebase"; | 863 alias = "Chromebase"; |
862 break; | 864 break; |
863 case chromeos::DeviceType::kChromebit: | 865 case chromeos::DeviceType::kChromebit: |
864 alias = "Chromebit"; | 866 alias = "Chromebit"; |
865 break; | 867 break; |
866 case chromeos::DeviceType::kChromebook: | 868 case chromeos::DeviceType::kChromebook: |
867 alias = "Chromebook"; | 869 alias = "Chromebook"; |
868 break; | 870 break; |
869 case chromeos::DeviceType::kChromebox: | 871 case chromeos::DeviceType::kChromebox: |
870 alias = "Chromebox"; | 872 alias = "Chromebox"; |
871 break; | 873 break; |
872 case chromeos::DeviceType::kUnknown: | 874 case chromeos::DeviceType::kUnknown: |
873 alias = "Chromebook"; | 875 alias = "Chromebook"; |
874 break; | 876 break; |
875 } | 877 } |
876 #elif defined(OS_LINUX) | |
877 alias = "ChromeLinux"; | |
878 #endif | |
879 | |
880 // Take the lower 2 bytes of hashed Bluetooth address and combine it with the | 878 // Take the lower 2 bytes of hashed Bluetooth address and combine it with the |
881 // device type to create a more identifiable device name. | 879 // device type to create a more identifiable device name. |
882 const std::string address = GetAddress(); | 880 const std::string address = GetAddress(); |
883 alias = base::StringPrintf( | 881 alias = base::StringPrintf( |
884 "%s_%04X", alias.c_str(), | 882 "%s_%04X", alias.c_str(), |
885 base::SuperFastHash(address.data(), address.size()) & 0xFFFF); | 883 base::SuperFastHash(address.data(), address.size()) & 0xFFFF); |
886 SetName(alias, base::Bind(&base::DoNothing), base::Bind(&base::DoNothing)); | 884 SetName(alias, base::Bind(&base::DoNothing), base::Bind(&base::DoNothing)); |
887 } | 885 } |
| 886 #endif |
888 | 887 |
889 void BluetoothAdapterBlueZ::RemoveAdapter() { | 888 void BluetoothAdapterBlueZ::RemoveAdapter() { |
890 DCHECK(IsPresent()); | 889 DCHECK(IsPresent()); |
891 VLOG(1) << object_path_.value() << ": adapter removed."; | 890 VLOG(1) << object_path_.value() << ": adapter removed."; |
892 | 891 |
893 bluez::BluetoothAdapterClient::Properties* properties = | 892 bluez::BluetoothAdapterClient::Properties* properties = |
894 bluez::BluezDBusManager::Get() | 893 bluez::BluezDBusManager::Get() |
895 ->GetBluetoothAdapterClient() | 894 ->GetBluetoothAdapterClient() |
896 ->GetProperties(object_path_); | 895 ->GetProperties(object_path_); |
897 | 896 |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1449 | 1448 |
1450 // If the queued request resulted in a pending call, then let it | 1449 // If the queued request resulted in a pending call, then let it |
1451 // asynchonously process the remaining queued requests once the pending | 1450 // asynchonously process the remaining queued requests once the pending |
1452 // call returns. | 1451 // call returns. |
1453 if (discovery_request_pending_) | 1452 if (discovery_request_pending_) |
1454 return; | 1453 return; |
1455 } | 1454 } |
1456 } | 1455 } |
1457 | 1456 |
1458 } // namespace bluez | 1457 } // namespace bluez |
OLD | NEW |