mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
e1f98ce23a
This patch adds the nsIDNSResolverInfo interface which is used to hold information about the resolver to be used in a DNS resolution. We use this to merge all of the *WithTRRServer resolve functions into one. Passing a resolver info will use that object when appropriate. No resolver info means that we default to using the system resolver, or the default TRR resolver. This patch also converts the RESOLVE_TYPE_* flags into a cenum and adds the resolveType as a parameter to asyncResolve thus removing the need to have asyncResolveByType methods. Differential Revision: https://phabricator.services.mozilla.com/D86176
35 lines
879 B
C++
35 lines
879 B
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_net_DNSResolverInfo_h__
|
|
#define mozilla_net_DNSResolverInfo_h__
|
|
|
|
#include "nsIDNSResolverInfo.h"
|
|
|
|
namespace mozilla {
|
|
namespace net {
|
|
|
|
class DNSResolverInfo : public nsIDNSResolverInfo {
|
|
NS_DECL_THREADSAFE_ISUPPORTS
|
|
NS_DECL_NSIDNSRESOLVERINFO
|
|
public:
|
|
explicit DNSResolverInfo(const nsACString& aURL) : mURL(aURL){};
|
|
static nsCString URL(nsIDNSResolverInfo* aResolver) {
|
|
nsCString url;
|
|
if (aResolver) {
|
|
MOZ_ALWAYS_SUCCEEDS(aResolver->GetURL(url));
|
|
}
|
|
return url;
|
|
}
|
|
|
|
private:
|
|
virtual ~DNSResolverInfo() = default;
|
|
nsCString mURL;
|
|
};
|
|
|
|
} // namespace net
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_net_DNSResolverInfo_h__
|