Chromium Code Reviews| Index: chrome/browser/chromeos/cros/network_library.cc |
| diff --git a/chrome/browser/chromeos/cros/network_library.cc b/chrome/browser/chromeos/cros/network_library.cc |
| index fada96fb350470a40abd60c0d226bea1684fa74d..cc173e45c13f0ebb244563a09b46be0416c6d1ab 100644 |
| --- a/chrome/browser/chromeos/cros/network_library.cc |
| +++ b/chrome/browser/chromeos/cros/network_library.cc |
| @@ -2216,6 +2216,26 @@ class NetworkLibraryImpl : public NetworkLibrary { |
| return NULL; |
| } |
| + virtual NetworkDeviceVector FindEthernetDevices() const { |
| + NetworkDeviceVector rv; |
| + for (NetworkDeviceMap::const_iterator iter = device_map_.begin(); |
| + iter != device_map_.end(); ++iter) { |
| + if (iter->second->type() == TYPE_ETHERNET) |
| + rv.push_back(iter->second); |
|
stevenjb
2011/04/25 17:54:27
return iter->second (first ethernet device; see co
Denis Lagno
2011/04/26 15:54:58
Done.
|
| + } |
| + return rv; |
| + } |
| + |
| + virtual NetworkDeviceVector FindWifiDevices() const { |
| + NetworkDeviceVector rv; |
| + for (NetworkDeviceMap::const_iterator iter = device_map_.begin(); |
| + iter != device_map_.end(); ++iter) { |
| + if (iter->second->type() == TYPE_WIFI) |
| + rv.push_back(iter->second); |
|
stevenjb
2011/04/25 17:54:27
return iter->second (first wifi device; see commen
Denis Lagno
2011/04/26 15:54:58
Done.
|
| + } |
| + return rv; |
| + } |
| + |
| virtual Network* FindNetworkByPath(const std::string& path) const { |
| NetworkMap::const_iterator iter = network_map_.find(path); |
| if (iter != network_map_.end()) |
| @@ -2831,7 +2851,8 @@ class NetworkLibraryImpl : public NetworkLibrary { |
| } |
| virtual NetworkIPConfigVector GetIPConfigs(const std::string& device_path, |
| - std::string* hardware_address) { |
| + std::string* hardware_address, |
| + HardwareAddressFormat format) { |
|
stevenjb
2011/04/25 17:54:27
DCHECK(hardware_address)
Denis Lagno
2011/04/26 15:54:58
Done.
|
| hardware_address->clear(); |
| NetworkIPConfigVector ipconfig_vector; |
| if (EnsureCrosLoaded() && !device_path.empty()) { |
| @@ -2850,6 +2871,23 @@ class NetworkLibraryImpl : public NetworkLibrary { |
| std::sort(ipconfig_vector.begin(), ipconfig_vector.end()); |
| } |
| } |
| + |
| + for (size_t i = 0; i < hardware_address->size(); ++i) |
| + (*hardware_address)[i] = toupper((*hardware_address)[i]); |
| + if (format == FORMAT_COLON_SEPARATED_HEX) { |
| + if (hardware_address->size() == 6 * 2) { |
| + std::string output; |
| + for (size_t i = 0; i < hardware_address->size(); ++i) { |
| + if (i != 0 && i % 2 == 0) |
|
stevenjb
2011/04/25 17:54:27
nit: if ((i != 0) && (i % 2 == 0))
Denis Lagno
2011/04/26 15:54:58
Done.
|
| + output.push_back(':'); |
| + output.push_back((*hardware_address)[i]); |
| + } |
| + hardware_address->swap(output); |
|
stevenjb
2011/04/25 17:54:27
hardware_address = output; (no reason to swap)
Denis Lagno
2011/04/26 15:54:58
Done.
|
| + } |
| + } else { |
| + DCHECK(format == FORMAT_RAW_HEX); |
| + } |
| + |
| return ipconfig_vector; |
| } |
| @@ -4202,6 +4240,12 @@ class NetworkLibraryStubImpl : public NetworkLibrary { |
| virtual const NetworkDevice* FindCellularDevice() const { |
| return NULL; |
| } |
| + virtual NetworkDeviceVector FindEthernetDevices() const { |
| + return NetworkDeviceVector(); |
| + } |
| + virtual NetworkDeviceVector FindWifiDevices() const { |
| + return NetworkDeviceVector(); |
| + } |
| virtual Network* FindNetworkByPath( |
| const std::string& path) const { return NULL; } |
| virtual WifiNetwork* FindWifiNetworkByPath( |
| @@ -4273,7 +4317,8 @@ class NetworkLibraryStubImpl : public NetworkLibrary { |
| virtual void EnableCellularNetworkDevice(bool enable) {} |
| virtual void EnableOfflineMode(bool enable) {} |
| virtual NetworkIPConfigVector GetIPConfigs(const std::string& device_path, |
| - std::string* hardware_address) { |
| + std::string* hardware_address, |
| + HardwareAddressFormat) { |
| hardware_address->clear(); |
| return NetworkIPConfigVector(); |
| } |