26 #ifndef NFD_DAEMON_MGMT_FACE_MANAGER_HPP 27 #define NFD_DAEMON_MGMT_FACE_MANAGER_HPP 30 #include <ndn-cxx/mgmt/nfd/face-status.hpp> 31 #include <ndn-cxx/mgmt/nfd/face-query-filter.hpp> 32 #include <ndn-cxx/mgmt/nfd/face-event-notification.hpp> 39 class ProtocolFactory;
60 createFace(
const Name& topPrefix,
const Interest& interest,
65 updateFace(
const Name& topPrefix,
const Interest& interest,
70 destroyFace(
const Name& topPrefix,
const Interest& interest,
78 enableLocalControl(
const Name& topPrefix,
const Interest& interest,
86 disableLocalControl(
const Name& topPrefix,
const Interest& interest,
93 const shared_ptr<Face>& newFace,
97 afterCreateFaceFailure(uint32_t status,
98 const std::string& reason,
102 findFaceForLocalControl(
const Interest& request,
113 listFaces(
const Name& topPrefix,
const Interest& interest,
117 listChannels(
const Name& topPrefix,
const Interest& interest,
121 queryFaces(
const Name& topPrefix,
const Interest& interest,
136 template<
typename FaceTraits>
138 collectFaceProperties(
const Face& face, FaceTraits& traits);
145 connectFaceStateChangeSignal(
const Face& face);
149 processConfig(
const ConfigSection& configSection,
bool isDryRun,
150 const std::string& filename);
153 processSectionUnix(
const ConfigSection& configSection,
bool isDryRun);
156 processSectionTcp(
const ConfigSection& configSection,
bool isDryRun);
159 processSectionUdp(
const ConfigSection& configSection,
bool isDryRun,
160 const std::vector<NetworkInterfaceInfo>& nicList);
163 processSectionEther(
const ConfigSection& configSection,
bool isDryRun,
164 const std::vector<NetworkInterfaceInfo>& nicList);
167 processSectionWebSocket(
const ConfigSection& configSection,
bool isDryRun);
170 std::map<std::string , shared_ptr<ProtocolFactory>> m_factories;
172 std::map<FaceId, signal::ScopedConnection> m_faceStateChangeConn;
182 #endif // NFD_DAEMON_MGMT_FACE_MANAGER_HPP #define PUBLIC_WITH_TESTS_ELSE_PRIVATE
void setConfigFile(ConfigFile &configFile)
Subscribe to face_system section for the config file.
represents parameters in a ControlCommand request or response
std::function< void(const Block ¬ification)> PostNotification
a function to post a notification
generalization of a network interface
represents a dispatcher on server side of NFD Management protocol
configuration file parsing utility
represents an Interest packet
Copyright (c) 2011-2015 Regents of the University of California.
disconnects a Connection automatically upon destruction
boost::property_tree::ptree ConfigSection
Name abstraction to represent an absolute name.
FaceManager(FaceTable &faceTable, Dispatcher &dispatcher, CommandAuthenticator &authenticator)
std::function< void(const ControlResponse &resp)> CommandContinuation
a function to be called after ControlCommandHandler completes
represents Face Query Filter
provides ControlCommand authorization according to NFD configuration file
NetworkInterfaceInfo
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
provides a context for generating response to a StatusDataset request
a collection of common functions shared by all NFD managers, such as communicating with the dispatche...
implement the Face Management of NFD Management Protocol.