examples: Extend example with basic trust schema (validator-config)
Change-Id: Iaf9f4abd57563e52cb167b55ba3b27d8ecc1ecd7
diff --git a/examples/consumer.cpp b/examples/consumer.cpp
index 5808c99..6643812 100644
--- a/examples/consumer.cpp
+++ b/examples/consumer.cpp
@@ -17,11 +17,10 @@
* <http://www.gnu.org/licenses/>.
*
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
- *
- * @author Alexander Afanasyev <http://lasr.cs.ucla.edu/afanasyev/index.html>
*/
#include <ndn-cxx/face.hpp>
+#include <ndn-cxx/security/validator-config.hpp>
#include <iostream>
@@ -33,6 +32,11 @@
class Consumer
{
public:
+ Consumer()
+ {
+ m_validator.load("trust-schema.conf");
+ }
+
void
run()
{
@@ -56,9 +60,17 @@
private:
void
- onData(const Interest&, const Data& data) const
+ onData(const Interest&, const Data& data)
{
std::cout << "Received Data " << data << std::endl;
+
+ m_validator.validate(data,
+ [] (const Data&) {
+ std::cout << "Data conforms to trust schema" << std::endl;
+ },
+ [] (const Data&, const security::ValidationError& error) {
+ std::cout << "Error authenticating data: " << error << std::endl;
+ });
}
void
@@ -75,6 +87,7 @@
private:
Face m_face;
+ ValidatorConfig m_validator{m_face};
};
} // namespace examples