rib: stop using the global scheduler

Change-Id: I0e205e2f1adf85be49b132b47791b27e4530697a
Refs: #4528
diff --git a/rib/propagated-entry.hpp b/rib/propagated-entry.hpp
index f4e61dd..c4b0601 100644
--- a/rib/propagated-entry.hpp
+++ b/rib/propagated-entry.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2018,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,9 @@
 #ifndef NFD_RIB_PROPAGATED_ENTRY_HPP
 #define NFD_RIB_PROPAGATED_ENTRY_HPP
 
-#include "core/scheduler.hpp"
+#include "core/common.hpp"
+
+#include <ndn-cxx/util/scheduler-scoped-event-id.hpp>
 
 namespace nfd {
 namespace rib {
@@ -47,7 +49,6 @@
 
 /**
  * @brief represents an entry for prefix propagation.
- * @sa http://redmine.named-data.net/issues/3211
  *
  * it consists of a PropagationStatus indicates current state of the state machine, as
  * well as an event scheduled for refresh or retry (i.e., the RefreshTimer and the RetryTimer of
@@ -56,7 +57,7 @@
 class PropagatedEntry
 {
 public:
-  PropagatedEntry();
+  PropagatedEntry() = default;
 
   /**
    * @pre other is not in PROPAGATED or PROPAGATE_FAIL state
@@ -95,7 +96,7 @@
    * this is called just after this entry is successfully propagated.
    */
   void
-  succeed(const scheduler::EventId& event);
+  succeed(ndn::util::Scheduler& scheduler, const ndn::util::scheduler::EventId& event);
 
   /**
    * @brief switch the propagation status to PROPAGATE_FAIL, and then set the
@@ -104,7 +105,7 @@
    * this is called just after propagation for this entry fails.
    */
   void
-  fail(const scheduler::EventId& event);
+  fail(ndn::util::Scheduler& scheduler, const ndn::util::scheduler::EventId& event);
 
   /**
    * @brief cancel the events of re-sending propagation commands.
@@ -148,8 +149,8 @@
 
 PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   Name m_signingIdentity;
-  scheduler::ScopedEventId m_rePropagateEvent;
-  PropagationStatus m_propagationStatus;
+  optional<ndn::util::scheduler::ScopedEventId> m_rePropagateEvent;
+  PropagationStatus m_propagationStatus = PropagationStatus::NEW;
 };
 
 } // namespace rib