| 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 #ifndef CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 5 #ifndef CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 
| 6 #define CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 6 #define CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 
| 7 | 7 | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" | 
| 11 #include "base/memory/weak_ptr.h" | 11 #include "base/memory/weak_ptr.h" | 
| 12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" | 
| 13 #include "content/renderer/p2p/network_list_manager.h" | 13 #include "content/renderer/p2p/network_list_manager.h" | 
| 14 #include "content/renderer/p2p/network_list_observer.h" | 14 #include "content/renderer/p2p/network_list_observer.h" | 
| 15 #include "third_party/webrtc/base/network.h" | 15 #include "third_party/webrtc/base/network.h" | 
| 16 | 16 | 
| 17 namespace content { | 17 namespace content { | 
| 18 | 18 | 
| 19 // IpcNetworkManager is a NetworkManager for libjingle that gets a | 19 // IpcNetworkManager is a NetworkManager for libjingle that gets a | 
| 20 // list of network interfaces from the browser. | 20 // list of network interfaces from the browser. | 
| 21 class IpcNetworkManager : public rtc::NetworkManagerBase, | 21 class IpcNetworkManager : public rtc::NetworkManagerBase, | 
| 22                           public NetworkListObserver { | 22                           public NetworkListObserver { | 
| 23  public: | 23  public: | 
| 24   // Constructor doesn't take ownership of the |network_list_manager|. | 24   // Constructor doesn't take ownership of the |network_list_manager|. | 
| 25   CONTENT_EXPORT IpcNetworkManager(NetworkListManager* network_list_manager); | 25   CONTENT_EXPORT IpcNetworkManager(NetworkListManager* network_list_manager); | 
| 26   ~IpcNetworkManager() override; | 26   ~IpcNetworkManager() override; | 
| 27 | 27 | 
|  | 28   // rtc:::NetworkManager: | 
| 28   void StartUpdating() override; | 29   void StartUpdating() override; | 
| 29   void StopUpdating() override; | 30   void StopUpdating() override; | 
| 30 | 31 | 
| 31   // P2PSocketDispatcher::NetworkListObserver interface. | 32   // P2PSocketDispatcher::NetworkListObserver interface. | 
| 32   void OnNetworkListChanged(const net::NetworkInterfaceList& list) override; | 33   void OnNetworkListChanged( | 
|  | 34       const net::NetworkInterfaceList& list, | 
|  | 35       const net::IPAddressNumber& default_ipv4_local_address, | 
|  | 36       const net::IPAddressNumber& default_ipv6_local_address) override; | 
| 33 | 37 | 
| 34  private: | 38  private: | 
| 35   void SendNetworksChangedSignal(); | 39   void SendNetworksChangedSignal(); | 
| 36 | 40 | 
| 37   NetworkListManager* network_list_manager_; | 41   NetworkListManager* network_list_manager_; | 
| 38   int start_count_; | 42   int start_count_; | 
| 39   bool network_list_received_; | 43   bool network_list_received_; | 
| 40 | 44 | 
| 41   base::WeakPtrFactory<IpcNetworkManager> weak_factory_; | 45   base::WeakPtrFactory<IpcNetworkManager> weak_factory_; | 
| 42 }; | 46 }; | 
| 43 | 47 | 
| 44 }  // namespace content | 48 }  // namespace content | 
| 45 | 49 | 
| 46 #endif  // CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 50 #endif  // CONTENT_RENDERER_P2P_IPC_NETWORK_MANAGER_H_ | 
| OLD | NEW | 
|---|