fw: ClientControlStrategy

refs #1214

Change-Id: Ia382acad6c8eeac85663fd664d1d34ba6f2ad478
diff --git a/daemon/fw/client-control-strategy.hpp b/daemon/fw/client-control-strategy.hpp
new file mode 100644
index 0000000..48f45b3
--- /dev/null
+++ b/daemon/fw/client-control-strategy.hpp
@@ -0,0 +1,37 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NFD_FW_CLIENT_CONTROL_STRATEGY_HPP
+#define NFD_FW_CLIENT_CONTROL_STRATEGY_HPP
+
+#include "best-route-strategy.hpp"
+
+namespace nfd {
+namespace fw {
+
+/** \brief a forwarding strategy that forwards Interests
+ *         according to NextHopFaceId field in LocalControlHeader
+ */
+class ClientControlStrategy : public BestRouteStrategy
+{
+public:
+  explicit
+  ClientControlStrategy(Forwarder& forwarder);
+
+  virtual
+  ~ClientControlStrategy();
+
+  virtual void
+  afterReceiveInterest(const Face& inFace,
+                       const Interest& interest,
+                       shared_ptr<fib::Entry> fibEntry,
+                       shared_ptr<pit::Entry> pitEntry);
+};
+
+} // namespace fw
+} // namespace nfd
+
+#endif // NFD_FW_CLIENT_CONTROL_STRATEGY_HPP