face: Specify signing certificate/identity in setInterestFilter/unsetInterestFilter
Refs: #1509
Change-Id: I359553e5f8eb77ae314873852eba8a10fb5e3a93
diff --git a/src/face.hpp b/src/face.hpp
index 185927b..48f253e 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -211,8 +211,6 @@
* onRegisterFailed(prefix) where prefix is the prefix given to
* registerPrefix.
*
- * @param flags The flags for finer control of which interests are forward to the
- * application.
* @return The registered prefix ID which can be used with removeRegisteredPrefix.
*/
const RegisteredPrefixId*
@@ -221,6 +219,52 @@
const OnSetInterestFilterFailed& onSetInterestFilterFailed);
/**
+ * @brief Register prefix with the connected NDN hub and call onInterest when a matching
+ * interest is received.
+ *
+ * @param prefix A reference to a Name for the prefix to register
+ * @param onInterest A function object to call when a matching interest is received
+ *
+ * @param onRegisterFailed A function object to call if failed to retrieve the connected
+ * hub’s ID or failed to register the prefix. This calls
+ * onRegisterFailed(prefix) where prefix is the prefix given to
+ * registerPrefix.
+ *
+ * @param certificate A certificate under which the prefix registration command interest
+ * is signed.
+ *
+ * @return The registered prefix ID which can be used with removeRegisteredPrefix.
+ */
+ const RegisteredPrefixId*
+ setInterestFilter(const Name& prefix,
+ const OnInterest& onInterest,
+ const OnSetInterestFilterFailed& onSetInterestFilterFailed,
+ const IdentityCertificate& certificate);
+
+ /**
+ * @brief Register prefix with the connected NDN hub and call onInterest when a matching
+ * interest is received.
+ *
+ * @param prefix A reference to a Name for the prefix to register
+ * @param onInterest A function object to call when a matching interest is received
+ *
+ * @param onRegisterFailed A function object to call if failed to retrieve the connected
+ * hub’s ID or failed to register the prefix. This calls
+ * onRegisterFailed(prefix) where prefix is the prefix given to
+ * registerPrefix.
+ *
+ * @param identity A signing identity. A command interest is signed under the default
+ * certificate of this identity.
+ *
+ * @return The registered prefix ID which can be used with removeRegisteredPrefix.
+ */
+ const RegisteredPrefixId*
+ setInterestFilter(const Name& prefix,
+ const OnInterest& onInterest,
+ const OnSetInterestFilterFailed& onSetInterestFilterFailed,
+ const Name& identity);
+
+ /**
* @brief Remove the registered prefix entry with the registeredPrefixId from the
* pending interest table.
*
@@ -233,6 +277,14 @@
void
unsetInterestFilter(const RegisteredPrefixId* registeredPrefixId);
+ void
+ unsetInterestFilter(const RegisteredPrefixId* registeredPrefixId,
+ const IdentityCertificate& certificate);
+
+ void
+ unsetInterestFilter(const RegisteredPrefixId* registeredPrefixId,
+ const Name& identity);
+
/**
* @brief Publish data packet
*
@@ -334,6 +386,14 @@
asyncUnsetInterestFilter(const RegisteredPrefixId* registeredPrefixId);
void
+ asyncUnsetInterestFilterWithCertificate(const RegisteredPrefixId* registeredPrefixId,
+ const IdentityCertificate& certificate);
+
+ void
+ asyncUnsetInterestFilterWithIdentity(const RegisteredPrefixId* registeredPrefixId,
+ const Name& identity);
+
+ void
finalizeUnsetInterestFilter(RegisteredPrefixTable::iterator item);
void