1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "services/network/dns_config_change_manager.h" 6 7 #include <utility> 8 9 namespace network { 10 DnsConfigChangeManager()11DnsConfigChangeManager::DnsConfigChangeManager() { 12 net::NetworkChangeNotifier::AddDNSObserver(this); 13 } 14 ~DnsConfigChangeManager()15DnsConfigChangeManager::~DnsConfigChangeManager() { 16 net::NetworkChangeNotifier::RemoveDNSObserver(this); 17 } 18 AddReceiver(mojo::PendingReceiver<mojom::DnsConfigChangeManager> receiver)19void DnsConfigChangeManager::AddReceiver( 20 mojo::PendingReceiver<mojom::DnsConfigChangeManager> receiver) { 21 receivers_.Add(this, std::move(receiver)); 22 } 23 RequestNotifications(mojo::PendingRemote<mojom::DnsConfigChangeManagerClient> client)24void DnsConfigChangeManager::RequestNotifications( 25 mojo::PendingRemote<mojom::DnsConfigChangeManagerClient> client) { 26 clients_.Add(std::move(client)); 27 } 28 OnDNSChanged()29void DnsConfigChangeManager::OnDNSChanged() { 30 for (const auto& client : clients_) 31 client->OnDnsConfigChanged(); 32 } 33 34 } // namespace network 35