Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(702)

Unified Diff: net/tools/net_watcher/net_watcher.cc

Issue 11620007: Switch from OnIPAddressChanged and OnConnectionTypeChange to OnNetworkChanged Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/tools/net_watcher/net_watcher.cc
diff --git a/net/tools/net_watcher/net_watcher.cc b/net/tools/net_watcher/net_watcher.cc
index 6950b5d231144f78b5610aee3d8ae313624e3097..797bd54b48ac6b09c6afc089a3f9fb87c24453ce 100644
--- a/net/tools/net_watcher/net_watcher.cc
+++ b/net/tools/net_watcher/net_watcher.cc
@@ -76,6 +76,8 @@ const char* ConfigAvailabilityToString(
}
}
+} // namespace
+
// The main observer class that logs network events.
class NetWatcher :
public net::NetworkChangeNotifier::IPAddressObserver,
@@ -85,8 +87,19 @@ class NetWatcher :
public net::ProxyConfigService::Observer {
public:
NetWatcher() {}
+ virtual ~NetWatcher() {
+ net::NetworkChangeNotifier::RemoveDNSObserver(this);
+ net::NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
+ net::NetworkChangeNotifier::RemoveIPAddressObserver(this);
+ net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
+ }
- virtual ~NetWatcher() {}
+ void Init() {
+ net::NetworkChangeNotifier::Deprecated::AddIPAddressObserver(this);
+ net::NetworkChangeNotifier::Deprecated::AddConnectionTypeObserver(this);
+ net::NetworkChangeNotifier::AddDNSObserver(this);
+ net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
+ }
// net::NetworkChangeNotifier::IPAddressObserver implementation.
virtual void OnIPAddressChanged() OVERRIDE {
@@ -125,8 +138,6 @@ class NetWatcher :
DISALLOW_COPY_AND_ASSIGN(NetWatcher);
};
-} // namespace
-
int main(int argc, char* argv[]) {
#if defined(OS_MACOSX)
base::mac::ScopedNSAutoreleasePool pool;
@@ -148,8 +159,6 @@ int main(int argc, char* argv[]) {
// Just make the main message loop the network loop.
MessageLoopForIO network_loop;
- NetWatcher net_watcher;
-
scoped_ptr<net::NetworkChangeNotifier> network_change_notifier(
net::NetworkChangeNotifier::Create());
@@ -159,11 +168,10 @@ int main(int argc, char* argv[]) {
network_loop.message_loop_proxy(),
&network_loop));
+ // Destruction uses |network_change_notifier| so define after.
+ NetWatcher net_watcher;
// Uses |network_change_notifier|.
- net::NetworkChangeNotifier::AddIPAddressObserver(&net_watcher);
- net::NetworkChangeNotifier::AddConnectionTypeObserver(&net_watcher);
- net::NetworkChangeNotifier::AddDNSObserver(&net_watcher);
- net::NetworkChangeNotifier::AddNetworkChangeObserver(&net_watcher);
+ net_watcher.Init();
proxy_config_service->AddObserver(&net_watcher);
@@ -187,11 +195,5 @@ int main(int argc, char* argv[]) {
proxy_config_service->RemoveObserver(&net_watcher);
- // Uses |network_change_notifier|.
- net::NetworkChangeNotifier::RemoveDNSObserver(&net_watcher);
- net::NetworkChangeNotifier::RemoveConnectionTypeObserver(&net_watcher);
- net::NetworkChangeNotifier::RemoveIPAddressObserver(&net_watcher);
- net::NetworkChangeNotifier::RemoveNetworkChangeObserver(&net_watcher);
-
return 0;
}

Powered by Google App Engine
This is Rietveld 408576698