26 #ifndef NFD_DAEMON_MGMT_FACE_MANAGER_HPP 27 #define NFD_DAEMON_MGMT_FACE_MANAGER_HPP 32 #include <ndn-cxx/mgmt/nfd/face-status.hpp> 33 #include <ndn-cxx/mgmt/nfd/face-query-filter.hpp> 34 #include <ndn-cxx/mgmt/nfd/face-event-notification.hpp> 46 Dispatcher& dispatcher,
51 createFace(
const Name& topPrefix,
const Interest& interest,
52 const ControlParameters& parameters,
53 const ndn::mgmt::CommandContinuation& done);
56 updateFace(
const Name& topPrefix,
const Interest& interest,
57 const ControlParameters& parameters,
58 const ndn::mgmt::CommandContinuation& done);
61 destroyFace(
const Name& topPrefix,
const Interest& interest,
62 const ControlParameters& parameters,
63 const ndn::mgmt::CommandContinuation& done);
67 afterCreateFaceSuccess(
const ControlParameters& parameters,
68 const shared_ptr<Face>& newFace,
69 const ndn::mgmt::CommandContinuation& done);
72 afterCreateFaceFailure(uint32_t status,
73 const std::string& reason,
74 const ndn::mgmt::CommandContinuation& done);
77 setLinkServiceOptions(Face& face,
const ControlParameters& parameters);
79 static ControlParameters
80 collectFaceProperties(
const Face& face,
bool wantUris);
84 listFaces(
const Name& topPrefix,
const Interest& interest,
85 ndn::mgmt::StatusDatasetContext& context);
88 listChannels(
const Name& topPrefix,
const Interest& interest,
89 ndn::mgmt::StatusDatasetContext& context);
92 queryFaces(
const Name& topPrefix,
const Interest& interest,
93 ndn::mgmt::StatusDatasetContext& context);
97 matchFilter(
const ndn::nfd::FaceQueryFilter& filter,
const Face& face);
101 static ndn::nfd::FaceStatus
102 collectFaceStatus(
const Face& face,
const time::steady_clock::TimePoint& now);
107 template<
typename FaceTraits>
109 collectFaceProperties(
const Face& face, FaceTraits& traits);
113 notifyFaceEvent(
const Face& face, ndn::nfd::FaceEventKind kind);
116 connectFaceStateChangeSignal(
const Face& face);
119 FaceSystem& m_faceSystem;
121 ndn::mgmt::PostNotification m_postNotification;
122 signal::ScopedConnection m_faceAddConn;
123 signal::ScopedConnection m_faceRemoveConn;
126 std::map<FaceId, signal::ScopedConnection> m_faceStateChangeConn;
131 #endif // NFD_DAEMON_MGMT_FACE_MANAGER_HPP
implement the Face Management of NFD Management Protocol.
FaceManager(FaceSystem &faceSystem, Dispatcher &dispatcher, CommandAuthenticator &authenticator)
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...
#define PUBLIC_WITH_TESTS_ELSE_PRIVATE