util: refactor and simplify ndn::dns

Change-Id: I356c37a56ec9241743c1ecc74e2c96ffea061c85
Refs: #2653
diff --git a/src/util/dns.hpp b/src/util/dns.hpp
index 7f00898..64d3865 100644
--- a/src/util/dns.hpp
+++ b/src/util/dns.hpp
@@ -19,22 +19,24 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_UTIL_DNS_H
-#define NDN_UTIL_DNS_H
+#ifndef NDN_UTIL_DNS_HPP
+#define NDN_UTIL_DNS_HPP
 
 #include "../util/time.hpp"
+
 #include <boost/asio/ip/address.hpp>
 #include <boost/asio/io_service.hpp>
 
 namespace ndn {
 namespace dns {
 
-typedef function<bool (const boost::asio::ip::address& address)> AddressSelector;
+typedef boost::asio::ip::address IpAddress;
+typedef function<bool (const IpAddress& address)> AddressSelector;
 
 struct AnyAddress
 {
   bool
-  operator()(const boost::asio::ip::address& address)
+  operator()(const IpAddress& address) const
   {
     return true;
   }
@@ -43,7 +45,7 @@
 struct Ipv4Only
 {
   bool
-  operator()(const boost::asio::ip::address& address)
+  operator()(const IpAddress& address) const
   {
     return address.is_v4();
   }
@@ -52,7 +54,7 @@
 struct Ipv6Only
 {
   bool
-  operator()(const boost::asio::ip::address& address)
+  operator()(const IpAddress& address) const
   {
     return address.is_v6();
   }
@@ -60,14 +62,13 @@
 
 struct Error : public std::runtime_error
 {
+  explicit
   Error(const std::string& what)
     : std::runtime_error(what)
   {
   }
 };
 
-typedef boost::asio::ip::address IpAddress;
-
 typedef function<void (const IpAddress& address)> SuccessCallback;
 typedef function<void (const std::string& reason)> ErrorCallback;
 
@@ -78,9 +79,9 @@
  *
  * Available address selector predicates:
  *
- * - resolver::AnyAddress()
- * - resolver::Ipv4Address()
- * - resolver::Ipv6Address()
+ * - dns::AnyAddress()
+ * - dns::Ipv4Address()
+ * - dns::Ipv6Address()
  *
  * \warning Even after the DNS resolution has timed out, it's possible that
  *          \p ioService keeps running and \p onSuccess is invoked at a later time.
@@ -92,8 +93,8 @@
              const SuccessCallback& onSuccess,
              const ErrorCallback& onError,
              boost::asio::io_service& ioService,
-             const ndn::dns::AddressSelector& addressSelector = ndn::dns::AnyAddress(),
-             const time::nanoseconds& timeout = time::seconds(4));
+             const AddressSelector& addressSelector = AnyAddress(),
+             time::nanoseconds timeout = time::seconds(4));
 
 /** \brief Synchronously resolve host
  *
@@ -102,16 +103,16 @@
  *
  * Available address selector predicates:
  *
- * - resolver::AnyAddress()
- * - resolver::Ipv4Address()
- * - resolver::Ipv6Address()
+ * - dns::AnyAddress()
+ * - dns::Ipv4Address()
+ * - dns::Ipv6Address()
  */
 IpAddress
 syncResolve(const std::string& host,
             boost::asio::io_service& ioService,
-            const ndn::dns::AddressSelector& addressSelector = ndn::dns::AnyAddress());
+            const AddressSelector& addressSelector = AnyAddress());
 
 } // namespace dns
 } // namespace ndn
 
-#endif // NDN_UTIL_DNS_H
+#endif // NDN_UTIL_DNS_HPP