Index: net/base/network_change_notifier_mac.h |
diff --git a/net/base/network_change_notifier_mac.h b/net/base/network_change_notifier_mac.h |
index f46a6666f64b4169a32ac468583b7d9959907ab7..a5e4a6097f2b4b2b0dbf761099f189fdf20c6485 100644 |
--- a/net/base/network_change_notifier_mac.h |
+++ b/net/base/network_change_notifier_mac.h |
@@ -7,8 +7,10 @@ |
#pragma once |
#include <SystemConfiguration/SCDynamicStore.h> |
+#include <SystemConfiguration/SCNetworkReachability.h> |
#include "base/basictypes.h" |
+#include "base/mac/scoped_cftyperef.h" |
#include "net/base/network_change_notifier.h" |
#include "net/base/network_config_watcher_mac.h" |
@@ -37,6 +39,9 @@ class NetworkChangeNotifierMac: public NetworkChangeNotifier { |
virtual void OnNetworkConfigChange(CFArrayRef changed_keys) { |
net_config_watcher_->OnNetworkConfigChange(changed_keys); |
} |
+ virtual void CleanUp() { |
+ net_config_watcher_->CleanUp(); |
+ } |
private: |
NetworkChangeNotifierMac* const net_config_watcher_; |
@@ -47,8 +52,15 @@ class NetworkChangeNotifierMac: public NetworkChangeNotifier { |
void SetDynamicStoreNotificationKeys(SCDynamicStoreRef store); |
void OnNetworkConfigChange(CFArrayRef changed_keys); |
+ static void ReachabilityCallback(SCNetworkReachabilityRef target, |
+ SCNetworkConnectionFlags flags, |
+ void* notifier); |
+ void CleanUp(); |
+ |
Forwarder forwarder_; |
const NetworkConfigWatcherMac config_watcher_; |
+ base::mac::ScopedCFTypeRef<SCNetworkReachabilityRef> reachability_; |
+ bool network_reachable_; |
DISALLOW_COPY_AND_ASSIGN(NetworkChangeNotifierMac); |
}; |