| Index: webrtc/base/networkmonitor.h
|
| diff --git a/webrtc/base/networkmonitor.h b/webrtc/base/networkmonitor.h
|
| index c45c81704072774497facdbf7821121dbd5a76d9..53c1ceef1f021d13e4bca88db14581169ba09620 100644
|
| --- a/webrtc/base/networkmonitor.h
|
| +++ b/webrtc/base/networkmonitor.h
|
| @@ -15,8 +15,32 @@
|
| #include "webrtc/base/scoped_ptr.h"
|
| #include "webrtc/base/sigslot.h"
|
| #include "webrtc/base/thread.h"
|
| +//#include "webrtc/base/network.h"
|
|
|
| namespace rtc {
|
| +
|
| +enum NetworkType {
|
| + NETWORK_UNKNOWN,
|
| + NETWORK_ETHERNET,
|
| + NETWORK_WIFI,
|
| + NETWORK_4G,
|
| + NETWORK_3G,
|
| + NETWORK_2G,
|
| + NETWORK_BLUETOOTH,
|
| + NETWORK_NONE
|
| +};
|
| +
|
| +struct NetworkInformation {
|
| + std::string interface_name;
|
| + uint32_t handle;
|
| + NetworkType type;
|
| + /* NetworkInformation(std::string& if_name, uint32_t net_handle, AdapterType
|
| + net_type) {
|
| + interface_name = if_name;
|
| + handle = net_handle;
|
| + type = net_type;
|
| + }*/
|
| +};
|
| /*
|
| * Receives network-change events via |OnNetworksChanged| and signals the
|
| * networks changed event.
|
| @@ -42,9 +66,13 @@ class NetworkMonitorInterface {
|
| virtual ~NetworkMonitorInterface();
|
|
|
| sigslot::signal0<> SignalNetworksChanged;
|
| + sigslot::signal1<const NetworkInformation&> SignalNetworkAvailable;
|
|
|
| virtual void Start() = 0;
|
| virtual void Stop() = 0;
|
| + virtual bool GetAllNetworkInfos(
|
| + std::vector<NetworkInformation>* net_infos) = 0;
|
| + virtual void OnNetworkAvailable(const NetworkInformation& network_info) = 0;
|
|
|
| // Implementations should call this method on the base when networks change,
|
| // and the base will fire SignalNetworksChanged on the right thread.
|
| @@ -58,11 +86,15 @@ class NetworkMonitorBase : public NetworkMonitorInterface,
|
| NetworkMonitorBase();
|
| ~NetworkMonitorBase() override;
|
|
|
| + bool GetAllNetworkInfos(std::vector<NetworkInformation>* net_infos) override;
|
| +
|
| void OnNetworksChanged() override;
|
| + void OnNetworkAvailable(const NetworkInformation& network_info) override;
|
|
|
| void OnMessage(Message* msg) override;
|
|
|
| private:
|
| + void OnNetworkAvailable_w(const NetworkInformation& network_info);
|
| Thread* thread_;
|
| };
|
|
|
|
|