26 #ifndef NFD_DAEMON_MGMT_FACE_MANAGER_HPP
27 #define NFD_DAEMON_MGMT_FACE_MANAGER_HPP
31 #include <ndn-cxx/mgmt/nfd/face-status.hpp>
32 #include <ndn-cxx/mgmt/nfd/face-query-filter.hpp>
33 #include <ndn-cxx/mgmt/nfd/face-event-notification.hpp>
45 Dispatcher& dispatcher,
56 createFace(
const Name& topPrefix,
const Interest& interest,
57 const ControlParameters& parameters,
58 const ndn::mgmt::CommandContinuation& done);
61 updateFace(
const Name& topPrefix,
const Interest& interest,
62 const ControlParameters& parameters,
63 const ndn::mgmt::CommandContinuation& done);
66 destroyFace(
const Name& topPrefix,
const Interest& interest,
67 const ControlParameters& parameters,
68 const ndn::mgmt::CommandContinuation& done);
74 enableLocalControl(
const Name& topPrefix,
const Interest& interest,
75 const ControlParameters& parameters,
76 const ndn::mgmt::CommandContinuation& done);
82 disableLocalControl(
const Name& topPrefix,
const Interest& interest,
83 const ControlParameters& parameters,
84 const ndn::mgmt::CommandContinuation& done);
88 afterCreateFaceSuccess(
const ControlParameters& parameters,
89 const shared_ptr<Face>& newFace,
90 const ndn::mgmt::CommandContinuation& done);
93 afterCreateFaceFailure(uint32_t status,
94 const std::string& reason,
95 const ndn::mgmt::CommandContinuation& done);
98 findFaceForLocalControl(
const Interest& request,
99 const ControlParameters& parameters,
100 const ndn::mgmt::CommandContinuation& done);
103 setLinkServiceOptions(Face& face,
104 const ControlParameters& parameters,
105 ControlParameters& response);
109 listFaces(
const Name& topPrefix,
const Interest& interest,
110 ndn::mgmt::StatusDatasetContext& context);
113 listChannels(
const Name& topPrefix,
const Interest& interest,
114 ndn::mgmt::StatusDatasetContext& context);
117 queryFaces(
const Name& topPrefix,
const Interest& interest,
118 ndn::mgmt::StatusDatasetContext& context);
122 matchFilter(
const ndn::nfd::FaceQueryFilter& filter,
const Face& face);
126 static ndn::nfd::FaceStatus
127 collectFaceStatus(
const Face& face,
const time::steady_clock::TimePoint& now);
132 template<
typename FaceTraits>
134 collectFaceProperties(
const Face& face, FaceTraits& traits);
138 notifyFaceEvent(
const Face& face, ndn::nfd::FaceEventKind kind);
141 connectFaceStateChangeSignal(
const Face& face);
144 FaceSystem m_faceSystem;
146 std::map<FaceId, signal::ScopedConnection> m_faceStateChangeConn;
149 ndn::mgmt::PostNotification m_postNotification;
150 signal::ScopedConnection m_faceAddConn;
151 signal::ScopedConnection m_faceRemoveConn;
156 #endif // NFD_DAEMON_MGMT_FACE_MANAGER_HPP
configuration file parsing utility
implement the Face Management of NFD Management Protocol.
provides ControlCommand authorization according to NFD configuration file
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
a collection of common functions shared by all NFD managers, such as communicating with the dispatche...
void setConfigFile(ConfigFile &configFile)
Subscribe to face_system section for the config file.
#define PUBLIC_WITH_TESTS_ELSE_PRIVATE
FaceManager(FaceTable &faceTable, Dispatcher &dispatcher, CommandAuthenticator &authenticator)