26 node->prepareForUse();
39 nodes.push_back(
node);
54 const bool negated = (*t ==
'!');
58 debugs(28, 3,
"looking for ACL " << t);
84 for (
const auto &
node: nodes)
85 rv.push_back(
node->name);
92 return doMatch(checklist, nodes.begin());
98 debugs(28, 5,
"checking " << name <<
" at " << (pos-nodes.begin()));
99 const int result = doMatch(checklist, pos);
101 debugs(28, 3,
"checked: " << name <<
" = " << result << extra);
char config_input_line[BUFSIZ]
bool asyncInProgress() const
async call has been started and has not finished (or failed) yet
void add(Acl::Node *node)
appends the node to the collection and takes control over it
bool empty() const override
bool resumeMatchingAt(ACLChecklist *checklist, Acl::Nodes::const_iterator pos) const
Resumes matching (suspended by an async call) at the given position.
void prepareForUse() override
int match(ACLChecklist *checklist) override
Matches the actual data in checklist against this Acl::Node.
Nodes nodes
children of this intermediate node
SBufList dump() const override
static Acl::Node * FindByName(const SBuf &)
A configured ACL with a given name or nil.
Implements the "not" or "!" operator.
static char * strtokFile()
#define debugs(SECTION, LEVEL, CONTENT)
std::list< SBuf > SBufList