Chromium Code Reviews| Index: webrtc/base/network.h |
| diff --git a/webrtc/base/network.h b/webrtc/base/network.h |
| index f365a7877262ed30c149daa15bfcf63bf07eac0a..f7b1de19648ae0211e35c4bc0ee2b7f00e862e89 100644 |
| --- a/webrtc/base/network.h |
| +++ b/webrtc/base/network.h |
| @@ -29,6 +29,7 @@ struct ifaddrs; |
| namespace rtc { |
| class Network; |
| +class NetworkMonitor; |
| class Thread; |
| enum AdapterType { |
| @@ -147,7 +148,6 @@ class NetworkManagerBase : public NetworkManager { |
| private: |
| friend class NetworkTest; |
| - void DoUpdateNetworks(); |
| EnumerationPermission enumeration_permission_; |
| @@ -164,7 +164,8 @@ class NetworkManagerBase : public NetworkManager { |
| // Basic implementation of the NetworkManager interface that gets list |
| // of networks using OS APIs. |
| class BasicNetworkManager : public NetworkManagerBase, |
| - public MessageHandler { |
| + public MessageHandler, |
| + public sigslot::has_slots<> { |
| public: |
| BasicNetworkManager(); |
| ~BasicNetworkManager() override; |
| @@ -222,7 +223,17 @@ class BasicNetworkManager : public NetworkManagerBase, |
| private: |
| friend class NetworkTest; |
| - void DoUpdateNetworks(); |
| + // Creates a network monitor and starts to listen to the update. |
|
pthatcher1
2015/10/15 08:11:43
"and starts to listen to the update" => "and liste
honghaiz3
2015/10/15 19:02:41
Done.
|
| + void StartNetworkMonitor(); |
| + // Stops and removes the network monitor. |
| + void StopNetworkMonitor(); |
| + // Called when it receives the update from the network monitor. |
|
pthatcher1
2015/10/15 08:11:43
receives the update => receives updates
honghaiz3
2015/10/15 19:02:41
Done.
|
| + void OnNetworksChanged(); |
| + |
| + // Updates the networks and reschedules the next update. |
| + void UpdateNetworksContinually(); |
| + // Only updates the networks; does not reschedule the next update. |
| + void UpdateNetworksOnce(); |
| Thread* thread_; |
| bool sent_first_update_; |
| @@ -230,6 +241,8 @@ class BasicNetworkManager : public NetworkManagerBase, |
| std::vector<std::string> network_ignore_list_; |
| int network_ignore_mask_; |
| bool ignore_non_default_routes_; |
| + // It monitors the network changes and it may be NULL if it is not injected. |
|
pthatcher1
2015/10/15 08:11:43
"if it is not injected" is confusing, especially s
honghaiz3
2015/10/15 19:02:41
Done.
|
| + scoped_ptr<NetworkMonitor> network_monitor_; |
| }; |
| // Represents a Unix-type network interface, with a name and single address. |