oasys::RuleSet Class Reference

#include <RuleSet.h>

List of all members.


Detailed Description

A RuleSet is a set of hierarchical rules which define a debugging set. Abstracted out because this kind of thing can be useful in other contexts.

Definition at line 44 of file RuleSet.h.


Public Types

enum  { PREFIX = 1, GLOB = 2 }

Public Member Functions

 RuleSet (RuleStorage *rs)
 Initialize with empty storage.
RuleStorage::Itemmatch_rule (char *rule)
 
Returns:
Log level for matching rule that is in effect

void add_prefix_rule (char *rule, int log_level)
void add_glob_rule (char *rule, int log_level, int priority)

Private Member Functions

void add_rule (int flags, char *rule, int log_level, int priority_)
bool do_match (char *rule, RuleStorage::Item *item)

Private Attributes

RuleStoragerules_
unsigned int num_rules_

Member Enumeration Documentation

anonymous enum

Enumerator:
PREFIX  Prefix matches, priority is string length.
GLOB  Glob matching (e.g. /foo*).

Definition at line 46 of file RuleSet.h.


Constructor & Destructor Documentation

oasys::RuleSet::RuleSet ( RuleStorage rs  ) 

Initialize with empty storage.

Definition at line 26 of file RuleSet.cc.


Member Function Documentation

RuleStorage::Item * oasys::RuleSet::match_rule ( char *  rule  ) 

Returns:
Log level for matching rule that is in effect

Definition at line 32 of file RuleSet.cc.

References do_match(), oasys::RuleStorage::items_, num_rules_, oasys::RuleStorage::Item::priority_, and rules_.

void oasys::RuleSet::add_prefix_rule ( char *  rule,
int  log_level 
)

Definition at line 52 of file RuleSet.cc.

References add_rule(), and PREFIX.

Referenced by oasys::LogConfigParser::parse().

void oasys::RuleSet::add_glob_rule ( char *  rule,
int  log_level,
int  priority 
)

Definition at line 59 of file RuleSet.cc.

References add_rule(), and GLOB.

Referenced by oasys::LogConfigParser::parse().

void oasys::RuleSet::add_rule ( int  flags,
char *  rule,
int  log_level,
int  priority_ 
) [private]

Definition at line 66 of file RuleSet.cc.

References oasys::RuleStorage::Item::flags_, oasys::RuleStorage::items_, oasys::RuleStorage::Item::log_level_, oasys::RuleStorage::MAX_RULE_LENGTH, oasys::RuleStorage::MAX_RULES, num_rules_, oasys::RuleStorage::Item::priority_, oasys::RuleStorage::Item::rule_, and rules_.

Referenced by add_glob_rule(), and add_prefix_rule().

bool oasys::RuleSet::do_match ( char *  rule,
RuleStorage::Item item 
) [private]

Definition at line 86 of file RuleSet.cc.

References oasys::Glob::fixed_glob(), oasys::RuleStorage::Item::flags_, GLOB, PREFIX, and oasys::RuleStorage::Item::rule_.

Referenced by match_rule().


Member Data Documentation

RuleStorage* oasys::RuleSet::rules_ [private]

Definition at line 63 of file RuleSet.h.

Referenced by add_rule(), and match_rule().

unsigned int oasys::RuleSet::num_rules_ [private]

Definition at line 64 of file RuleSet.h.

Referenced by add_rule(), and match_rule().


The documentation for this class was generated from the following files:
Generated on Sat Sep 8 08:36:26 2007 for DTN Reference Implementation by  doxygen 1.5.3