| OLD | NEW |
| 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 // Provides wifi scan API binding for suitable for typical linux distributions. | 5 // Provides wifi scan API binding for suitable for typical linux distributions. |
| 6 // Currently, only the NetworkManager API is used, accessed via D-Bus (in turn | 6 // Currently, only the NetworkManager API is used, accessed via D-Bus (in turn |
| 7 // accessed via the GLib wrapper). | 7 // accessed via the GLib wrapper). |
| 8 | 8 |
| 9 #include "content/browser/geolocation/wifi_data_provider_linux.h" | 9 #include "content/browser/geolocation/wifi_data_provider_linux.h" |
| 10 | 10 |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 continue; | 247 continue; |
| 248 } | 248 } |
| 249 uint8* ssid_bytes = NULL; | 249 uint8* ssid_bytes = NULL; |
| 250 size_t ssid_length = 0; | 250 size_t ssid_length = 0; |
| 251 if (!variant_reader.PopArrayOfBytes(&ssid_bytes, &ssid_length)) { | 251 if (!variant_reader.PopArrayOfBytes(&ssid_bytes, &ssid_length)) { |
| 252 LOG(WARNING) << "Unexpected response for " << access_point_path.value() | 252 LOG(WARNING) << "Unexpected response for " << access_point_path.value() |
| 253 << ": " << response->ToString(); | 253 << ": " << response->ToString(); |
| 254 continue; | 254 continue; |
| 255 } | 255 } |
| 256 std::string ssid(ssid_bytes, ssid_bytes + ssid_length); | 256 std::string ssid(ssid_bytes, ssid_bytes + ssid_length); |
| 257 access_point_data.ssid = UTF8ToUTF16(ssid); | 257 access_point_data.ssid = base::UTF8ToUTF16(ssid); |
| 258 } | 258 } |
| 259 | 259 |
| 260 { // Read the mac address | 260 { // Read the mac address |
| 261 scoped_ptr<dbus::Response> response( | 261 scoped_ptr<dbus::Response> response( |
| 262 GetAccessPointProperty(access_point_proxy, "HwAddress")); | 262 GetAccessPointProperty(access_point_proxy, "HwAddress")); |
| 263 if (!response) | 263 if (!response) |
| 264 continue; | 264 continue; |
| 265 dbus::MessageReader reader(response.get()); | 265 dbus::MessageReader reader(response.get()); |
| 266 std::string mac; | 266 std::string mac; |
| 267 if (!reader.PopVariantOfString(&mac)) { | 267 if (!reader.PopVariantOfString(&mac)) { |
| 268 LOG(WARNING) << "Unexpected response for " << access_point_path.value() | 268 LOG(WARNING) << "Unexpected response for " << access_point_path.value() |
| 269 << ": " << response->ToString(); | 269 << ": " << response->ToString(); |
| 270 continue; | 270 continue; |
| 271 } | 271 } |
| 272 | 272 |
| 273 ReplaceSubstringsAfterOffset(&mac, 0U, ":", std::string()); | 273 ReplaceSubstringsAfterOffset(&mac, 0U, ":", std::string()); |
| 274 std::vector<uint8> mac_bytes; | 274 std::vector<uint8> mac_bytes; |
| 275 if (!base::HexStringToBytes(mac, &mac_bytes) || mac_bytes.size() != 6) { | 275 if (!base::HexStringToBytes(mac, &mac_bytes) || mac_bytes.size() != 6) { |
| 276 LOG(WARNING) << "Can't parse mac address (found " << mac_bytes.size() | 276 LOG(WARNING) << "Can't parse mac address (found " << mac_bytes.size() |
| 277 << " bytes) so using raw string: " << mac; | 277 << " bytes) so using raw string: " << mac; |
| 278 access_point_data.mac_address = UTF8ToUTF16(mac); | 278 access_point_data.mac_address = base::UTF8ToUTF16(mac); |
| 279 } else { | 279 } else { |
| 280 access_point_data.mac_address = MacAddressAsString16(&mac_bytes[0]); | 280 access_point_data.mac_address = MacAddressAsString16(&mac_bytes[0]); |
| 281 } | 281 } |
| 282 } | 282 } |
| 283 | 283 |
| 284 { // Read signal strength. | 284 { // Read signal strength. |
| 285 scoped_ptr<dbus::Response> response( | 285 scoped_ptr<dbus::Response> response( |
| 286 GetAccessPointProperty(access_point_proxy, "Strength")); | 286 GetAccessPointProperty(access_point_proxy, "Strength")); |
| 287 if (!response) | 287 if (!response) |
| 288 continue; | 288 continue; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 | 371 |
| 372 WifiDataProviderCommon::WlanApiInterface* | 372 WifiDataProviderCommon::WlanApiInterface* |
| 373 WifiDataProviderLinux::NewWlanApiForTesting(dbus::Bus* bus) { | 373 WifiDataProviderLinux::NewWlanApiForTesting(dbus::Bus* bus) { |
| 374 scoped_ptr<NetworkManagerWlanApi> wlan_api(new NetworkManagerWlanApi); | 374 scoped_ptr<NetworkManagerWlanApi> wlan_api(new NetworkManagerWlanApi); |
| 375 if (wlan_api->InitWithBus(bus)) | 375 if (wlan_api->InitWithBus(bus)) |
| 376 return wlan_api.release(); | 376 return wlan_api.release(); |
| 377 return NULL; | 377 return NULL; |
| 378 } | 378 } |
| 379 | 379 |
| 380 } // namespace content | 380 } // namespace content |
| OLD | NEW |