Added support for ForwardingEntry.
diff --git a/ndn-cpp/forwarding-entry.cpp b/ndn-cpp/forwarding-entry.cpp
new file mode 100644
index 0000000..0e8c6d7
--- /dev/null
+++ b/ndn-cpp/forwarding-entry.cpp
@@ -0,0 +1,42 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+#include <stdexcept>
+#include "common.hpp"
+#include "forwarding-entry.hpp"
+
+using namespace std;
+
+namespace ndn {
+
+void ForwardingEntry::set(const struct ndn_ForwardingEntry &forwardingEntryStruct)
+{
+ if (forwardingEntryStruct.action && forwardingEntryStruct.actionLength > 0)
+ action_ = string(forwardingEntryStruct.action, forwardingEntryStruct.action + forwardingEntryStruct.actionLength);
+ else
+ action_ = "";
+
+ prefix_.set(forwardingEntryStruct.prefix);
+ publisherPublicKeyDigest_.set(forwardingEntryStruct.publisherPublicKeyDigest);
+ faceId_ = forwardingEntryStruct.faceId;
+ forwardingFlags_ = forwardingEntryStruct.forwardingFlags;
+ freshnessSeconds_ = forwardingEntryStruct.freshnessSeconds;
+}
+
+void ForwardingEntry::get(struct ndn_ForwardingEntry &forwardingEntryStruct) const
+{
+ prefix_.get(forwardingEntryStruct.prefix);
+ publisherPublicKeyDigest_.get(forwardingEntryStruct.publisherPublicKeyDigest);
+ forwardingEntryStruct.faceId = faceId_;
+ forwardingEntryStruct.forwardingFlags = forwardingFlags_;
+ forwardingEntryStruct.freshnessSeconds = freshnessSeconds_;
+
+ forwardingEntryStruct.actionLength = action_.size();
+ if (action_.size() > 0)
+ forwardingEntryStruct.action = (unsigned char *)&action_[0];
+ else
+ forwardingEntryStruct.action = 0;
+}
+
+}