face: Fixing bug with InternalFace considered not local and changing "isLocal" method to be pure virtual

This way the decision about the face locality has to be done explicitly
inside specific face implementation and potentially avoids problems.

Change-Id: I5219cce87385313546453d14a5a7ca4542893911
diff --git a/daemon/mgmt/internal-face.cpp b/daemon/mgmt/internal-face.cpp
index 32c03a1..1f1a6cb 100644
--- a/daemon/mgmt/internal-face.cpp
+++ b/daemon/mgmt/internal-face.cpp
@@ -98,6 +98,11 @@
   throw Error("Internal face cannot be closed");
 }
 
+bool
+InternalFace::isLocal() const
+{
+  return true;
+}
 
 void
 InternalFace::setInterestFilter(const Name& filter,
diff --git a/daemon/mgmt/internal-face.hpp b/daemon/mgmt/internal-face.hpp
index 8d5805c..0e17b3b 100644
--- a/daemon/mgmt/internal-face.hpp
+++ b/daemon/mgmt/internal-face.hpp
@@ -36,6 +36,13 @@
   virtual void
   close();
 
+  /** \brief Get whether face is connected to a local app
+   *
+   *  Always true for a InternalFace.
+   */
+  virtual bool
+  isLocal() const;
+
   // Methods implementing AppFace interface. Do not invoke from forwarder.
 
   virtual void