| 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 // This is a small utility that watches for and logs network changes. | 5 // This is a small utility that watches for and logs network changes. |
| 6 | 6 |
| 7 #include <memory> |
| 7 #include <string> | 8 #include <string> |
| 8 | 9 |
| 9 #include "base/at_exit.h" | 10 #include "base/at_exit.h" |
| 10 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 11 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
| 12 #include "base/json/json_writer.h" | 13 #include "base/json/json_writer.h" |
| 13 #include "base/logging.h" | 14 #include "base/logging.h" |
| 14 #include "base/macros.h" | 15 #include "base/macros.h" |
| 15 #include "base/memory/scoped_ptr.h" | |
| 16 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
| 17 #include "base/strings/string_split.h" | 17 #include "base/strings/string_split.h" |
| 18 #include "base/values.h" | 18 #include "base/values.h" |
| 19 #include "build/build_config.h" | 19 #include "build/build_config.h" |
| 20 #include "net/base/network_change_notifier.h" | 20 #include "net/base/network_change_notifier.h" |
| 21 #include "net/proxy/proxy_config.h" | 21 #include "net/proxy/proxy_config.h" |
| 22 #include "net/proxy/proxy_config_service.h" | 22 #include "net/proxy/proxy_config_service.h" |
| 23 #include "net/proxy/proxy_service.h" | 23 #include "net/proxy/proxy_service.h" |
| 24 | 24 |
| 25 #if defined(USE_GLIB) && !defined(OS_CHROMEOS) | 25 #if defined(USE_GLIB) && !defined(OS_CHROMEOS) |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 case net::NetworkChangeNotifier::CONNECTION_NONE: | 62 case net::NetworkChangeNotifier::CONNECTION_NONE: |
| 63 return "CONNECTION_NONE"; | 63 return "CONNECTION_NONE"; |
| 64 case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH: | 64 case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH: |
| 65 return "CONNECTION_BLUETOOTH"; | 65 return "CONNECTION_BLUETOOTH"; |
| 66 default: | 66 default: |
| 67 return "CONNECTION_UNEXPECTED"; | 67 return "CONNECTION_UNEXPECTED"; |
| 68 } | 68 } |
| 69 } | 69 } |
| 70 | 70 |
| 71 std::string ProxyConfigToString(const net::ProxyConfig& config) { | 71 std::string ProxyConfigToString(const net::ProxyConfig& config) { |
| 72 scoped_ptr<base::Value> config_value(config.ToValue()); | 72 std::unique_ptr<base::Value> config_value(config.ToValue()); |
| 73 std::string str; | 73 std::string str; |
| 74 base::JSONWriter::Write(*config_value, &str); | 74 base::JSONWriter::Write(*config_value, &str); |
| 75 return str; | 75 return str; |
| 76 } | 76 } |
| 77 | 77 |
| 78 const char* ConfigAvailabilityToString( | 78 const char* ConfigAvailabilityToString( |
| 79 net::ProxyConfigService::ConfigAvailability availability) { | 79 net::ProxyConfigService::ConfigAvailability availability) { |
| 80 switch (availability) { | 80 switch (availability) { |
| 81 case net::ProxyConfigService::CONFIG_PENDING: | 81 case net::ProxyConfigService::CONFIG_PENDING: |
| 82 return "CONFIG_PENDING"; | 82 return "CONFIG_PENDING"; |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 command_line->GetSwitchValueASCII(kIgnoreNetifFlag); | 170 command_line->GetSwitchValueASCII(kIgnoreNetifFlag); |
| 171 base::hash_set<std::string> ignored_interfaces; | 171 base::hash_set<std::string> ignored_interfaces; |
| 172 if (!ignored_netifs_str.empty()) { | 172 if (!ignored_netifs_str.empty()) { |
| 173 for (const std::string& ignored_netif : | 173 for (const std::string& ignored_netif : |
| 174 base::SplitString(ignored_netifs_str, ",", base::TRIM_WHITESPACE, | 174 base::SplitString(ignored_netifs_str, ",", base::TRIM_WHITESPACE, |
| 175 base::SPLIT_WANT_ALL)) { | 175 base::SPLIT_WANT_ALL)) { |
| 176 LOG(INFO) << "Ignoring: " << ignored_netif; | 176 LOG(INFO) << "Ignoring: " << ignored_netif; |
| 177 ignored_interfaces.insert(ignored_netif); | 177 ignored_interfaces.insert(ignored_netif); |
| 178 } | 178 } |
| 179 } | 179 } |
| 180 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier( | 180 std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier( |
| 181 new net::NetworkChangeNotifierLinux(ignored_interfaces)); | 181 new net::NetworkChangeNotifierLinux(ignored_interfaces)); |
| 182 #else | 182 #else |
| 183 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier( | 183 std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier( |
| 184 net::NetworkChangeNotifier::Create()); | 184 net::NetworkChangeNotifier::Create()); |
| 185 #endif | 185 #endif |
| 186 | 186 |
| 187 // Use the network loop as the file loop also. | 187 // Use the network loop as the file loop also. |
| 188 scoped_ptr<net::ProxyConfigService> proxy_config_service( | 188 std::unique_ptr<net::ProxyConfigService> proxy_config_service( |
| 189 net::ProxyService::CreateSystemProxyConfigService( | 189 net::ProxyService::CreateSystemProxyConfigService( |
| 190 network_loop.task_runner(), network_loop.task_runner())); | 190 network_loop.task_runner(), network_loop.task_runner())); |
| 191 | 191 |
| 192 // Uses |network_change_notifier|. | 192 // Uses |network_change_notifier|. |
| 193 net::NetworkChangeNotifier::AddIPAddressObserver(&net_watcher); | 193 net::NetworkChangeNotifier::AddIPAddressObserver(&net_watcher); |
| 194 net::NetworkChangeNotifier::AddConnectionTypeObserver(&net_watcher); | 194 net::NetworkChangeNotifier::AddConnectionTypeObserver(&net_watcher); |
| 195 net::NetworkChangeNotifier::AddDNSObserver(&net_watcher); | 195 net::NetworkChangeNotifier::AddDNSObserver(&net_watcher); |
| 196 net::NetworkChangeNotifier::AddNetworkChangeObserver(&net_watcher); | 196 net::NetworkChangeNotifier::AddNetworkChangeObserver(&net_watcher); |
| 197 | 197 |
| 198 proxy_config_service->AddObserver(&net_watcher); | 198 proxy_config_service->AddObserver(&net_watcher); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 218 proxy_config_service->RemoveObserver(&net_watcher); | 218 proxy_config_service->RemoveObserver(&net_watcher); |
| 219 | 219 |
| 220 // Uses |network_change_notifier|. | 220 // Uses |network_change_notifier|. |
| 221 net::NetworkChangeNotifier::RemoveDNSObserver(&net_watcher); | 221 net::NetworkChangeNotifier::RemoveDNSObserver(&net_watcher); |
| 222 net::NetworkChangeNotifier::RemoveConnectionTypeObserver(&net_watcher); | 222 net::NetworkChangeNotifier::RemoveConnectionTypeObserver(&net_watcher); |
| 223 net::NetworkChangeNotifier::RemoveIPAddressObserver(&net_watcher); | 223 net::NetworkChangeNotifier::RemoveIPAddressObserver(&net_watcher); |
| 224 net::NetworkChangeNotifier::RemoveNetworkChangeObserver(&net_watcher); | 224 net::NetworkChangeNotifier::RemoveNetworkChangeObserver(&net_watcher); |
| 225 | 225 |
| 226 return 0; | 226 return 0; |
| 227 } | 227 } |
| OLD | NEW |