1 #ifndef DNS_RESPONDER_CLIENT_H
2 #define DNS_RESPONDER_CLIENT_H
6 #include <cutils/sockets.h>
8 #include <private/android_filesystem_config.h>
9 #include <utils/StrongPointer.h>
11 #include "android/net/INetd.h"
12 #include "binder/IServiceManager.h"
13 #include "NetdClient.h"
14 #include "dns_responder.h"
15 #include "resolv_params.h"
17 class DnsResponderClient {
26 virtual ~DnsResponderClient() = default;
28 void SetupMappings(unsigned num_hosts, const std::vector<std::string>& domains,
29 std::vector<Mapping>* mappings);
31 bool SetResolversForNetwork(const std::vector<std::string>& servers,
32 const std::vector<std::string>& domains, const std::vector<int>& params);
34 bool SetResolversForNetwork(const std::vector<std::string>& searchDomains,
35 const std::vector<std::string>& servers, const std::string& params);
37 static void SetupDNSServers(unsigned num_servers, const std::vector<Mapping>& mappings,
38 std::vector<std::unique_ptr<test::DNSResponder>>* dns,
39 std::vector<std::string>* servers);
41 static void ShutdownDNSServers(std::vector<std::unique_ptr<test::DNSResponder>>* dns);
43 static int SetupOemNetwork();
45 static void TearDownOemNetwork(int oemNetId);
49 virtual void TearDown();
52 android::sp<android::net::INetd> mNetdSrv = nullptr;
56 #endif // DNS_RESPONDER_CLIENT_H