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