mgmt: add face event notification and notification stream

refs: #1244

Change-Id: I14bd327be53bcb607b457d6cb4bd66bd28a2feaa
diff --git a/daemon/mgmt/face-manager.hpp b/daemon/mgmt/face-manager.hpp
index 8efb509..6787084 100644
--- a/daemon/mgmt/face-manager.hpp
+++ b/daemon/mgmt/face-manager.hpp
@@ -13,6 +13,7 @@
 #include "mgmt/manager-base.hpp"
 #include "mgmt/config-file.hpp"
 #include "mgmt/face-status-publisher.hpp"
+#include "mgmt/notification-stream.hpp"
 #include "fw/face-table.hpp"
 
 #include <ndn-cpp-dev/management/nfd-face-management-options.hpp>
@@ -69,6 +70,9 @@
   destroyFace(const Name& requestName,
               ndn::nfd::FaceManagementOptions& options);
 
+  void
+  ignoreUnsignedVerb(const Interest& request);
+
   bool
   extractOptions(const Interest& request,
                  ndn::nfd::FaceManagementOptions& extractedOptions);
@@ -81,6 +85,12 @@
   void
   onConnectFailed(const Name& requestName, const std::string& reason);
 
+  void
+  onAddFace(shared_ptr<Face> face);
+
+  void
+  onRemoveFace(shared_ptr<Face> face);
+
 private:
   void
   onConfig(const ConfigSection& configSection, bool isDryRun, const std::string& filename);
@@ -115,6 +125,7 @@
   FactoryMap m_factories;
   FaceTable& m_faceTable;
   FaceStatusPublisher m_statusPublisher;
+  NotificationStream m_notificationStream;
 
   typedef function<void(FaceManager*,
                         const Name&,
@@ -147,6 +158,8 @@
 
   static const Name LIST_COMMAND_PREFIX;
   static const size_t LIST_COMMAND_NCOMPS;
+
+  static const Name EVENTS_COMMAND_PREFIX;
 };
 
 inline bool
@@ -170,6 +183,12 @@
 
 }
 
+inline void
+FaceManager::ignoreUnsignedVerb(const Interest& request)
+{
+  // do nothing
+}
+
 } // namespace nfd
 
 #endif // NFD_MGMT_FACE_MANAGER_HPP