22 #ifndef NLSR_PUBLISHER_LSDB_DATASET_INTEREST_HANDLER_HPP 23 #define NLSR_PUBLISHER_LSDB_DATASET_INTEREST_HANDLER_HPP 30 #include <ndn-cxx/mgmt/dispatcher.hpp> 31 #include <ndn-cxx/face.hpp> 32 #include <boost/noncopyable.hpp> 49 class Error : std::runtime_error
54 :
std::runtime_error(what)
60 ndn::mgmt::Dispatcher& localHostDispatcher,
61 ndn::mgmt::Dispatcher& routerNameDispatcher,
63 ndn::KeyChain& keyChain);
68 return m_routerNamePrefix;
73 m_routerNamePrefix = routerName;
82 setDispatcher(ndn::mgmt::Dispatcher& dispatcher);
87 publishAdjStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
88 ndn::mgmt::StatusDatasetContext& context);
93 publishCoordinateStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
94 ndn::mgmt::StatusDatasetContext& context);
99 publishNameStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
100 ndn::mgmt::StatusDatasetContext& context);
105 publishAllStatus(
const ndn::Name& topPrefix,
const ndn::Interest& interest,
106 ndn::mgmt::StatusDatasetContext& context);
110 ndn::Name m_routerNamePrefix;
112 ndn::mgmt::Dispatcher& m_localhostDispatcher;
113 ndn::mgmt::Dispatcher& m_routerNameDispatcher;
116 template<
typename T> std::list<T>
119 template<> std::list<tlv::AdjacencyLsa>
120 getTlvLsas<tlv::AdjacencyLsa>(
const Lsdb& lsdb);
122 template<> std::list<tlv::CoordinateLsa>
123 getTlvLsas<tlv::CoordinateLsa>(
const Lsdb& lsdb);
125 template<> std::list<tlv::NameLsa>
126 getTlvLsas<tlv::NameLsa>(
const Lsdb& lsdb);
130 #endif // NLSR_PUBLISHER_LSDB_DATASET_INTEREST_HANDLER_HPP
Class to publish all lsa dataset.
std::list< T > getTlvLsas(const Lsdb &lsdb)
const ndn::Name::Component COORDINATE_COMPONENT
ndn::Name & getRouterNameCommandPrefix()
void setRouterNameCommandPrefix(const ndn::Name &routerName)
const ndn::Name::Component NAME_COMPONENT
Error(const std::string &what)
static const ndn::Name::Component NAME_COMPONENT
Copyright (c) 2014-2017, The University of Memphis, Regents of the University of California, Arizona Board of Regents.
const ndn::Name::Component ADJACENCY_COMPONENT