#include "net/dns/system_dns_config_change_notifier.h"
#include <map>
#include <optional>
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/not_fatal_until.h"
#include "base/sequence_checker.h"
#include "base/synchronization/lock.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "net/dns/dns_config_service.h"
namespace net {
namespace {
class WrappedObserver { … };
}
class SystemDnsConfigChangeNotifier::Core { … };
SystemDnsConfigChangeNotifier::SystemDnsConfigChangeNotifier()
: … { … }
SystemDnsConfigChangeNotifier::SystemDnsConfigChangeNotifier(
scoped_refptr<base::SequencedTaskRunner> task_runner,
std::unique_ptr<DnsConfigService> dns_config_service)
: … { … }
SystemDnsConfigChangeNotifier::~SystemDnsConfigChangeNotifier() = default;
void SystemDnsConfigChangeNotifier::AddObserver(Observer* observer) { … }
void SystemDnsConfigChangeNotifier::RemoveObserver(Observer* observer) { … }
void SystemDnsConfigChangeNotifier::RefreshConfig() { … }
void SystemDnsConfigChangeNotifier::SetDnsConfigServiceForTesting(
std::unique_ptr<DnsConfigService> dns_config_service,
base::OnceClosure done_cb) { … }
}