Lines Matching refs:rule

115 	Rule		*rule;
228 // free rule states
264 /** Finds the rule matching to the criteria (name and type).
265 * If there is no matching rule yet, it will create one.
284 // search for matching rule type
286 Rule *rule = rules->first;
287 while (rule && rule->Type() != type) {
288 rule = rule->Next();
291 if (rule == NULL) {
292 TRACE(("create new rule for \"%s\", type %d\n", name, type));
293 // there is no rule yet, create one
294 rule = new Rule(type);
295 if (rule == NULL)
298 rule->Next() = rules->first;
299 rules->first = rule;
302 return rule;
405 // direct "command opens file" rule
423 Rule *rule = get_rule(name, LAUNCH_TYPE);
424 if (rule != NULL)
425 rule->AddHead(head);
434 // unknown rule - ignore line
497 TRACE(("Apply rule %p", this));
607 for (Rule *rule = rules->first; rule != NULL; rule = rule->Next()) {
612 TRACE(("found rule %p for \"%s\"\n", rule, rules->name));
613 state->rule = rule;
616 if (rule->Type() == LAUNCH_TYPE) {
619 rule->Apply();
637 if ((state->rule->Type() & OPEN_FILE_TYPE) == 0)
648 struct head *head = state->rule->FindHead(device, node);
651 state->rule->KnownFileOpened();
656 state->rule->UnknownFileOpened();
671 if ((state->rule->Type() & ARGUMENTS_TYPE) == 0)
692 // ToDo: this is only needed if there is no rule for this team yet - ideally,
694 // to recognize a rule
731 Rule *rule = rules->first;
732 while (rule) {
733 Rule *next = rule->Next();
735 dprintf("Rule %p \"%s\"\n", rule, rules->name);
736 rule->Dump();
738 delete rule;
739 rule = next;
768 recursive_lock_init(&sLock, "rule based prefetcher");