Added Interest
diff --git a/ndn-cpp/Interest.hpp b/ndn-cpp/Interest.hpp
new file mode 100644
index 0000000..a1f045f
--- /dev/null
+++ b/ndn-cpp/Interest.hpp
@@ -0,0 +1,68 @@
+/*
+ * Author: Jeff Thompson
+ *
+ * BSD license, See the LICENSE file for more information.
+ */
+
+#ifndef NDN_INTEREST_HPP
+#define NDN_INTEREST_HPP
+
+#include <vector>
+#include "Name.hpp"
+#include "c/Interest.h"
+
+namespace ndn {
+
+class Interest {
+public:
+ void encode(std::vector<unsigned char> &output, WireFormat &wireFormat)
+ {
+ wireFormat.encodeInterest(*this, output);
+ }
+ void encode(std::vector<unsigned char> &output)
+ {
+ encode(output, BinaryXMLWireFormat::instance());
+ }
+ void decode(const unsigned char *input, unsigned int inputLength, WireFormat &wireFormat)
+ {
+ wireFormat.decodeInterest(*this, input, inputLength);
+ }
+ void decode(const unsigned char *input, unsigned int inputLength)
+ {
+ decode(input, inputLength, BinaryXMLWireFormat::instance());
+ }
+ void decode(const std::vector<unsigned char> &input, WireFormat &wireFormat)
+ {
+ decode(&input[0], input.size(), wireFormat);
+ }
+ void decode(const std::vector<unsigned char> &input)
+ {
+ decode(&input[0], input.size());
+ }
+
+ Name &getName() { return name_; }
+
+ /**
+ * Clear this interest, and set the values by copying from the interest struct.
+ * @param interestStruct a C ndn_Interest struct
+ */
+ void set(struct ndn_Interest &interestStruct);
+
+private:
+
+ Name name_;
+ int maxSuffixComponents_;
+ int minSuffixComponents_;
+
+ std::vector<unsigned char> publisherPublicKeyDigest_;
+ // TODO: implement exclude
+ int childSelector_;
+ int answerOriginKind_;
+ int scope_;
+ int interestLifetime_;
+ std::vector<unsigned char> nonce_;
+};
+
+}
+
+#endif