The filter_msg_buffer Class

The filter_msg_buffer class has until recently been the workhorse class for the messaging system. It will filter (drop) messages with certain profiles and let others pass. (Note that this is different from the corba-based message server setup, where you send all messages to the server and the client selects which messages to receive. Here you drop messages and the producer end before they go anywhere.)

There is a set of member functions which allow to customize the behavior at run-time. It is possible to specify for each single combination whether a message with that profile is allowed to pass, and there are global set functions which will enable or disable whole groups of messages. In practice, you will typically disable whole groups (or even all messages) first and then selectively enable those which you are interested in.

There is one notable change from version 1.0. In the past, an ``unspecified'' message (one that came without explicit profile) was considered to be on the same footing as ``informational'' in the ranking of severities, and was switched off with a set_below_threshold(MSG_SEV_WARNING,OFF) call (because ``informational'' is below ``warning'' severity). It was found that many programs want to output profile-less help text, command prompts and such, and you had to explicitly re-enable that after the set_below_threshold call. From now on the unspecified messages are excempt from many global operations, such as the above-mentioned "set_below_threshold" function. You can still disable the unspecified messages with the set_type call, but it will no longer be affected by the global set functions.

Note that profiles are only supported when you use cout; all output generated with printf is considered unspecified.

Alphabetic index Hierarchy of classes



This page was generated with the help of DOC++.