rib: ReadvertiseDestination availability
refs: #3818
Change-Id: Ifc2875ba38025595f3d6a8f8207f5ec126f93c90
diff --git a/rib/readvertise/readvertise-destination.hpp b/rib/readvertise/readvertise-destination.hpp
index b31e6f0..204d2b6 100644
--- a/rib/readvertise/readvertise-destination.hpp
+++ b/rib/readvertise/readvertise-destination.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014-2016, Regents of the University of California,
+ * Copyright (c) 2014-2017, Regents of the University of California,
* Arizona Board of Regents,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University,
@@ -50,6 +50,25 @@
withdraw(nfd::rib::ReadvertisedRoute& rr,
std::function<void()> successCb,
std::function<void(const std::string&)> failureCb) = 0;
+
+ bool
+ isAvailable() const
+ {
+ return m_isAvailable;
+ };
+
+protected:
+ void
+ setAvailability(bool isAvailable);
+
+public:
+ /** \brief signals when the destination becomes available or unavailable
+ */
+ ndn::util::signal::Signal<ReadvertiseDestination, bool>
+ afterAvailabilityChange;
+
+private:
+ bool m_isAvailable = false;
};
} // namespace rib