tests: merge DummyFace::LinkService with DummyReceiveLinkService

Change-Id: I0b45d80055085278bbe028ef95898d68c6e3f824
diff --git a/tests/daemon/face/dummy-face.hpp b/tests/daemon/face/dummy-face.hpp
index 93bcd48..387206a 100644
--- a/tests/daemon/face/dummy-face.hpp
+++ b/tests/daemon/face/dummy-face.hpp
@@ -32,7 +32,9 @@
 namespace face {
 namespace tests {
 
-/** \brief a Face for unit testing
+class DummyLinkService;
+
+/** \brief A Face for unit testing.
  *
  *  The DummyFace has no underlying transport, but allows observing outgoing packets
  *  and injecting incoming packets at network layer.
@@ -45,8 +47,7 @@
 class DummyFace : public Face
 {
 public:
-  class LinkService;
-
+  explicit
   DummyFace(const std::string& localUri = "dummy://", const std::string& remoteUri = "dummy://",
             ndn::nfd::FaceScope scope = ndn::nfd::FACE_SCOPE_NON_LOCAL,
             ndn::nfd::FacePersistency persistency = ndn::nfd::FACE_PERSISTENCY_PERSISTENT,
@@ -73,17 +74,17 @@
   void
   receiveNack(const lp::Nack& nack);
 
-  /** \brief signals after any network-layer packet is sent
+  /** \brief Emitted after a network-layer packet is sent.
    *
-   *  The network-layer packet type is indicated as an argument,
-   *  which is either of tlv::Interest, tlv::Data, or lp::tlv::Nack.
-   *  The callback may retrieve the packet from sentInterests.back(), sentData.back(), or sentNacks.back().
+   *  The packet type is reported via the argument, whose value will be one of
+   *  tlv::Interest, tlv::Data, or lp::tlv::Nack. Signal handlers may retrieve
+   *  the packet via `sentInterests.back()`, `sentData.back()`, or `sentNacks.back()`.
    */
-  signal::Signal<LinkService, uint32_t>& afterSend;
+  signal::Signal<DummyLinkService, uint32_t>& afterSend;
 
 private:
-  LinkService*
-  getLinkServiceInternal();
+  DummyLinkService*
+  getDummyLinkService() const;
 
 public:
   std::vector<Interest>& sentInterests;