wait to be verified
diff --git a/src/query.hpp b/src/query.hpp
index 48ef464..61b1cff 100644
--- a/src/query.hpp
+++ b/src/query.hpp
@@ -36,6 +36,42 @@
QUERY_DNS_R
};
+ static std::string
+ toString(const QueryType& qType)
+ {
+ std::string label;
+ switch (qType)
+ {
+ case QUERY_DNS:
+ label = "DNS";
+ break;
+ case QUERY_DNS_R:
+ label = "DNS-R";
+ break;
+ default:
+ label = "Default";
+ break;
+ }
+ return label;
+
+ }
+
+ static const QueryType
+ toQueryType(const std::string& str)
+ {
+ QueryType atype;
+ if (str == "DNS") {
+ atype = QUERY_DNS;
+ }
+ else if (str == "DNS-R") {
+ atype = QUERY_DNS_R;
+ }
+ else {
+ atype = QUERY_DNS;
+ }
+ return atype;
+ }
+
Query();
virtual ~Query();
@@ -72,49 +108,14 @@
m_rrLabel = rrLabel;
}
- const RRType& getRrType() const {
+ const RR::RRType& getRrType() const {
return m_rrType;
}
- void setRrType(const RRType& rrType) {
+ void setRrType(const RR::RRType& rrType) {
m_rrType = rrType;
}
- static std::string
- toString(QueryType qType)
- {
- std::string label;
- switch (qType)
- {
- case QUERY_DNS:
- label = "DNS";
- break;
- case QUERY_DNS_R:
- label = "DNS-R";
- break;
- default:
- label = "Default";
- break;
- }
- return label;
-
- }
-
- static const QueryType
- toQueryType(const std::string& str)
- {
- QueryType atype;
- if (str == "DNS") {
- atype = QUERY_DNS;
- }
- else if (str == "DNS-R") {
- atype = QUERY_DNS_R;
- }
- else {
- atype = QUERY_DNS;
- }
- return atype;
- }
private:
template<bool T>
@@ -122,30 +123,38 @@
wireEncode(EncodingImpl<T> & block) const;
public:
-
- const Block&
- wireEncode() const;
-
- void
- wireDecode(const Block& wire);
-
-
Interest
- toWire() const;
+ toInterest() const;
- void
- fromWire(const Name &name, const Interest& interest);
+ bool
+ fromInterest(const Name &name, const Interest& interest);
+
+ bool
+ fromInterest(const Interest& interest);
+
public:
Name m_authorityZone;
enum QueryType m_queryType;
time::milliseconds m_interestLifetime;
Name m_rrLabel;
- enum RRType m_rrType;
+ enum RR::RRType m_rrType;
mutable Block m_wire;
};
+
+inline std::ostream&
+operator<<(std::ostream& os, const Query& query)
+{
+ os<<"Query: authorityZone="<<query.getAuthorityZone().toUri()
+ <<" queryType="<<Query::toString(query.getQueryType())
+ <<" rrLabel="<<query.getRrLabel().toUri()
+ <<" rrType="<<RR::toString(query.getRrType());
+ return os;
+}
+
+
} // namespace ndns
} // namespace ndn