8 #ifndef NDN_SECURITY_CONF_RULE_HPP
9 #define NDN_SECURITY_CONF_RULE_HPP
19 template<
class Packet>
23 Rule(
const std::string&
id)
42 m_filters.push_back(filter);
48 m_checkers.push_back(checker);
54 if (m_filters.empty())
57 for (FilterList::iterator it = m_filters.begin();
58 it != m_filters.end(); it++)
60 if (!(*it)->match(packet))
77 template<
class Val
idatedCallback,
class Val
idationFailureCallback>
80 const ValidatedCallback& onValidated,
81 const ValidationFailureCallback& onValidationFailed)
83 for (CheckerList::iterator it = m_checkers.begin();
84 it != m_checkers.end(); it++)
86 int8_t result = (*it)->check(packet, onValidated, onValidationFailed);
94 typedef std::vector<shared_ptr<Filter> > FilterList;
95 typedef std::vector<shared_ptr<Checker> > CheckerList;
99 CheckerList m_checkers;
106 #endif // NDN_SECURITY_CONF_RULE_HPP
const std::string & getId()
bool match(const Packet &packet)
void addFilter(const shared_ptr< Filter > &filter)
Rule(const std::string &id)
void addChecker(const shared_ptr< Checker > &checker)
int8_t check(const Packet &packet, const ValidatedCallback &onValidated, const ValidationFailureCallback &onValidationFailed)
check if packet satisfies certain condition