diff options
Diffstat (limited to 'net/dns/dns_config_service_win.h')
-rw-r--r-- | net/dns/dns_config_service_win.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/net/dns/dns_config_service_win.h b/net/dns/dns_config_service_win.h index d60ae04..3159f77 100644 --- a/net/dns/dns_config_service_win.h +++ b/net/dns/dns_config_service_win.h @@ -33,20 +33,27 @@ namespace net { -class WatchingFileReader; +class FilePathWatcherWrapper; + +// Use DnsConfigService::CreateSystemService to use it outside of tests. +namespace internal { class NET_EXPORT_PRIVATE DnsConfigServiceWin - : NON_EXPORTED_BASE(public DnsConfigService) { + : NON_EXPORTED_BASE(public DnsConfigService) { public: DnsConfigServiceWin(); virtual ~DnsConfigServiceWin(); - virtual void Watch() OVERRIDE; + virtual void Watch(const CallbackType& callback) OVERRIDE; private: class ConfigReader; + + void OnHostsChanged(bool succeeded); + scoped_refptr<ConfigReader> config_reader_; - scoped_ptr<WatchingFileReader> hosts_watcher_; + scoped_ptr<FilePathWatcherWrapper> hosts_watcher_; + scoped_refptr<SerialWorker> hosts_reader_; DISALLOW_COPY_AND_ASSIGN(DnsConfigServiceWin); }; @@ -73,7 +80,8 @@ struct NET_EXPORT_PRIVATE DnsSystemSettings { RegDword level; }; - // Filled in by GetAdapterAddresses. + // Filled in by GetAdapterAddresses. Note that the alternative + // GetNetworkParams does not include IPv6 addresses. scoped_ptr_malloc<IP_ADAPTER_ADDRESSES> addresses; // SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\SearchList @@ -105,6 +113,8 @@ bool NET_EXPORT_PRIVATE ParseSearchList(const string16& value, bool NET_EXPORT_PRIVATE ConvertSettingsToDnsConfig( const DnsSystemSettings& settings, DnsConfig* dns_config); +} // namespace internal + } // namespace net #endif // NET_DNS_DNS_CONFIG_SERVICE_WIN_H_ |