| Index: webrtc/base/networkmonitor.h
|
| diff --git a/webrtc/base/networkmonitor.h b/webrtc/base/networkmonitor.h
|
| index 72b07b449c3028ff7bab7b353bfe3dd152abe9d8..290da4f48eea9e135e526473440f6bd6669b1075 100644
|
| --- a/webrtc/base/networkmonitor.h
|
| +++ b/webrtc/base/networkmonitor.h
|
| @@ -11,118 +11,9 @@
|
| #ifndef WEBRTC_BASE_NETWORKMONITOR_H_
|
| #define WEBRTC_BASE_NETWORKMONITOR_H_
|
|
|
| -#include "webrtc/base/logging.h"
|
| -#include "webrtc/base/sigslot.h"
|
| -#include "webrtc/base/thread.h"
|
|
|
| -namespace rtc {
|
| -
|
| -class IPAddress;
|
| -
|
| -enum class NetworkBindingResult {
|
| - SUCCESS = 0, // No error
|
| - FAILURE = -1, // Generic error
|
| - NOT_IMPLEMENTED = -2,
|
| - ADDRESS_NOT_FOUND = -3,
|
| - NETWORK_CHANGED = -4
|
| -};
|
| -
|
| -enum AdapterType {
|
| - // This enum resembles the one in Chromium net::ConnectionType.
|
| - ADAPTER_TYPE_UNKNOWN = 0,
|
| - ADAPTER_TYPE_ETHERNET = 1 << 0,
|
| - ADAPTER_TYPE_WIFI = 1 << 1,
|
| - ADAPTER_TYPE_CELLULAR = 1 << 2,
|
| - ADAPTER_TYPE_VPN = 1 << 3,
|
| - ADAPTER_TYPE_LOOPBACK = 1 << 4
|
| -};
|
| -
|
| -class NetworkBinderInterface {
|
| - public:
|
| - // Binds a socket to the network that is attached to |address| so that all
|
| - // packets on the socket |socket_fd| will be sent via that network.
|
| - // This is needed because some operating systems (like Android) require a
|
| - // special bind call to put packets on a non-default network interface.
|
| - virtual NetworkBindingResult BindSocketToNetwork(
|
| - int socket_fd,
|
| - const IPAddress& address) = 0;
|
| - virtual ~NetworkBinderInterface() {}
|
| -};
|
| -
|
| -/*
|
| - * Receives network-change events via |OnNetworksChanged| and signals the
|
| - * networks changed event.
|
| - *
|
| - * Threading consideration:
|
| - * It is expected that all upstream operations (from native to Java) are
|
| - * performed from the worker thread. This includes creating, starting and
|
| - * stopping the monitor. This avoids the potential race condition when creating
|
| - * the singleton Java NetworkMonitor class. Downstream operations can be from
|
| - * any thread, but this class will forward all the downstream operations onto
|
| - * the worker thread.
|
| - *
|
| - * Memory consideration:
|
| - * NetworkMonitor is owned by the caller (NetworkManager). The global network
|
| - * monitor factory is owned by the factory itself but needs to be released from
|
| - * the factory creator.
|
| - */
|
| -// Generic network monitor interface. It starts and stops monitoring network
|
| -// changes, and fires the SignalNetworksChanged event when networks change.
|
| -class NetworkMonitorInterface {
|
| - public:
|
| - NetworkMonitorInterface();
|
| - virtual ~NetworkMonitorInterface();
|
| -
|
| - sigslot::signal0<> SignalNetworksChanged;
|
| -
|
| - virtual void Start() = 0;
|
| - virtual void Stop() = 0;
|
| -
|
| - // Implementations should call this method on the base when networks change,
|
| - // and the base will fire SignalNetworksChanged on the right thread.
|
| - virtual void OnNetworksChanged() = 0;
|
| -
|
| - virtual AdapterType GetAdapterType(const std::string& interface_name) = 0;
|
| -};
|
| -
|
| -class NetworkMonitorBase : public NetworkMonitorInterface,
|
| - public MessageHandler,
|
| - public sigslot::has_slots<> {
|
| - public:
|
| - NetworkMonitorBase();
|
| - ~NetworkMonitorBase() override;
|
| -
|
| - void OnNetworksChanged() override;
|
| -
|
| - void OnMessage(Message* msg) override;
|
| -
|
| - protected:
|
| - Thread* worker_thread() { return worker_thread_; }
|
| -
|
| - private:
|
| - Thread* worker_thread_;
|
| -};
|
| -
|
| -/*
|
| - * NetworkMonitorFactory creates NetworkMonitors.
|
| - */
|
| -class NetworkMonitorFactory {
|
| - public:
|
| - // This is not thread-safe; it should be called once (or once per audio/video
|
| - // call) during the call initialization.
|
| - static void SetFactory(NetworkMonitorFactory* factory);
|
| -
|
| - static void ReleaseFactory(NetworkMonitorFactory* factory);
|
| - static NetworkMonitorFactory* GetFactory();
|
| -
|
| - virtual NetworkMonitorInterface* CreateNetworkMonitor() = 0;
|
| -
|
| - virtual ~NetworkMonitorFactory();
|
| -
|
| - protected:
|
| - NetworkMonitorFactory();
|
| -};
|
| -
|
| -} // namespace rtc
|
| +// This header is deprecated and is just left here temporarily during
|
| +// refactoring. See https://bugs.webrtc.org/7634 for more details.
|
| +#include "webrtc/rtc_base/networkmonitor.h"
|
|
|
| #endif // WEBRTC_BASE_NETWORKMONITOR_H_
|
|
|