23 #ifndef NDN_CONFIG_FILTER_HPP
24 #define NDN_CONFIG_FILTER_HPP
26 #include "../../../interest.hpp"
27 #include "../../../data.hpp"
28 #include "config-name-relation.hpp"
33 class NdnRegexTopMatcher;
55 match(
bool isForInterest,
const Name& packetName);
63 static ptr_lib::shared_ptr<ConfigFilter>
76 static ptr_lib::shared_ptr<ConfigFilter>
86 matchName(
const Name& packetName) = 0;
114 (
const Name& name, ConfigNameRelation::Relation relation)
128 matchName(
const Name& packetName);
131 ConfigNameRelation::Relation relation_;
161 matchName(
const Name& packetName);
164 ptr_lib::shared_ptr<NdnRegexTopMatcher> regex_;
ConfigRegexNameFilter extends ConfigFilter to check that the packet name matches the specified regula...
Definition: config-filter.hpp:145
static ptr_lib::shared_ptr< ConfigFilter > create(const BoostInfoTree &configSection)
Create a filter from the configuration section.
bool match(bool isForInterest, const Name &packetName)
Call the virtual matchName method based on the packet type.
BoostInfoTree is provided for compatibility with the Boost INFO property list format used in ndn-cxx...
Definition: boost-info-parser.hpp:46
A Name holds an array of Name::Component and represents an NDN name.
Definition: name.hpp:40
ConfigRelationNameFilter extends ConfigFilter to check that the name is in the given relation to the ...
Definition: config-filter.hpp:106
ConfigRegexNameFilter(const std::string ®exString)
Create a ConfigRegexNameFilter from the regex string.
ConfigRelationNameFilter(const Name &name, ConfigNameRelation::Relation relation)
Create a ConfigRelationNameFilter for the given values.
Definition: config-filter.hpp:114
ConfigFilter is an abstract base class for RegexNameFilter, etc.
Definition: config-filter.hpp:41