| 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;
|
| }
|
|
|