lestes::msg::report_filter Class Reference

Report filter. More...

#include <report_filter.hh>

Inheritance diagram for lestes::msg::report_filter:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void process (const ptr< message > &a_message, const ptr< source_location > &a_location) override
 Processes a report.
ptr< report_filteroutput_get (void) const
 Returns output.

Protected Member Functions

 report_filter (void)
 Creates a filter with no output.
 report_filter (const ptr< report_filter > &a_output)
 Creates a filter with output.
void process_output (const ptr< message > &a_message, const ptr< source_location > &a_location)
 Processes a report by output.

Private Member Functions

 report_filter (const report_filter &)
 Hides copy constructor.
report_filteroperator= (const report_filter &)
 Hides assignment operator.

Private Attributes

srp< report_filteroutput
 The output to pass reports to.

Detailed Description

Report filter.

Represents abstract filter of reported messages with location. Each inherited filter is intended to either perform an optional transformation on a report and call process_output(), or filter it out by not calling process_output(). Individual filters' create methods should reserve first parameter to specifying output, followed by other specific parameters, to enable easy chaining of filters.


Constructor & Destructor Documentation

lestes::msg::report_filter::report_filter ( void   )  [protected]

Creates a filter with no output.

Creates a filter, initializes with no output.

Postcondition:
output_get() == NULL

lestes::msg::report_filter::report_filter ( const ptr< report_filter > &  a_output  )  [protected]

Creates a filter with output.

Creates a filter, initializes with output.

Precondition:
a_output != NULL
Postcondition:
output_get() == a_output
Parameters:
a_output The output of the filter.

lestes::msg::report_filter::report_filter ( const report_filter  )  [private]

Hides copy constructor.


Member Function Documentation

virtual void lestes::msg::report_filter::process ( const ptr< message > &  a_message,
const ptr< source_location > &  a_location 
) [pure virtual]

Processes a report.

Implemented in lestes::msg::report_cache, lestes::msg::report_end, lestes::msg::report_error_flag, lestes::msg::report_kind_filter, lestes::msg::report_origin_filter, and lestes::msg::report_ostream.

ptr< report_filter > lestes::msg::report_filter::output_get ( void   )  const

Returns output.

Returns output of this filter.

Returns:
The output to pass processed reports to.

void lestes::msg::report_filter::process_output ( const ptr< message > &  a_message,
const ptr< source_location > &  a_location 
) [protected]

Processes a report by output.

Processes a report by output.

Precondition:
a_message != NULL

a_location != NULL

output != NULL

Parameters:
a_message The message to pass to the output.
a_location The location to pass to the output.

report_filter& lestes::msg::report_filter::operator= ( const report_filter  )  [private]

Hides assignment operator.


Member Data Documentation

srp<report_filter> lestes::msg::report_filter::output [private]

The output to pass reports to.


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:49:43 2007 for lestes by doxygen 1.5.1-20070107