Previously the instance was set through a static method, which was really only done because it was difficult to add new PeerConnectionFactory construction arguments at the time. Now that we have PeerConnectionFactoryDependencies it's easy to clean this up. I'm doing this because I plan to add a NetworkMonitor implementation for iOS, and don't want to inherit this ugliness. Bug: webrtc:9883 Change-Id: Id94dc061ab1c7186b81af8547393a6e336ff04c2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180241 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31815}
47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
/*
|
|
* Copyright 2015 The WebRTC Project Authors. All rights reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "rtc_base/network_monitor.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "rtc_base/checks.h"
|
|
#include "rtc_base/location.h"
|
|
#include "rtc_base/logging.h"
|
|
|
|
namespace {
|
|
const uint32_t UPDATE_NETWORKS_MESSAGE = 1;
|
|
} // namespace
|
|
|
|
namespace rtc {
|
|
NetworkMonitorInterface::NetworkMonitorInterface() {}
|
|
|
|
NetworkMonitorInterface::~NetworkMonitorInterface() {}
|
|
|
|
NetworkMonitorBase::NetworkMonitorBase() : worker_thread_(Thread::Current()) {}
|
|
NetworkMonitorBase::~NetworkMonitorBase() {}
|
|
|
|
void NetworkMonitorBase::OnNetworksChanged() {
|
|
RTC_LOG(LS_VERBOSE) << "Network change is received at the network monitor";
|
|
worker_thread_->Post(RTC_FROM_HERE, this, UPDATE_NETWORKS_MESSAGE);
|
|
}
|
|
|
|
void NetworkMonitorBase::OnMessage(Message* msg) {
|
|
RTC_DCHECK(msg->message_id == UPDATE_NETWORKS_MESSAGE);
|
|
SignalNetworksChanged();
|
|
}
|
|
|
|
AdapterType NetworkMonitorBase::GetVpnUnderlyingAdapterType(
|
|
const std::string& interface_name) {
|
|
return ADAPTER_TYPE_UNKNOWN;
|
|
}
|
|
|
|
} // namespace rtc
|