# FoundationClasses
TKernel
Message

# Message_Messenger Class Reference

Messenger is API class providing general-purpose interface for
libraries that may issue text messages without knowledge
of how these messages will be further processed.
The messenger contains a sequence of "printers" which can be
customized by the application, and dispatches every received
message to all the printers.
For convenience, a number of operators << are defined with left
argument being Handle(Message_Messenger); thus it can be used
with syntax similar to C++ streams.
Note that all these operators use trace level Warning.
.

`#include <Message_Messenger.hxx>`

Inheritance diagram for Message_Messenger:

[legend]

## Public Member Functions

Standard_EXPORT | Message_Messenger ()
| Empty constructor; initializes by single printer directed to cout. Note: the default messenger is not empty but directed to cout in order to protect against possibility to forget defining printers. If printing to cout is not needed, clear messenger by GetPrinters().Clear() .
Standard_EXPORT | Message_Messenger (const Handle(Message_Printer)&thePrinter)
| Create messenger with single printer .
Standard_EXPORT Standard_Boolean | AddPrinter (const Handle(Message_Printer)&thePrinter)
| Add a printer to the messenger. The printer will be added only if it is not yet in the list. Returns True if printer has been added. .
Standard_EXPORT Standard_Boolean | RemovePrinter (const Handle(Message_Printer)&thePrinter)
| Removes specified printer from the messenger. Returns True if this printer has been found in the list and removed. .
Standard_EXPORT Standard_Integer | RemovePrinters (const Handle(Standard_Type)&theType)
| Removes printers of specified type (including derived classes) from the messenger. Returns number of removed printers. .
const Message_SequenceOfPrinters & | Printers () const
| Returns current sequence of printers .
Message_SequenceOfPrinters & | ChangePrinters ()
| Returns sequence of printers The sequence can be modified. .
Standard_EXPORT void | Send (const Standard_CString theString, const Message_Gravity theGravity=Message_Warning, const Standard_Boolean putEndl=Standard_True) const
| Dispatch a message to all the printers in the list. Three versions of string representations are accepted for convenience, by default all are converted to ExtendedString. The parameter putEndl specifies whether the new line should be started after this message (default) or not (may have sense in some conditions). .
Standard_EXPORT void | Send (const TCollection_AsciiString &theString, const Message_Gravity theGravity=Message_Warning, const Standard_Boolean putEndl=Standard_True) const
| See above .
Standard_EXPORT void | Send (const TCollection_ExtendedString &theString, const Message_Gravity theGravity=Message_Warning, const Standard_Boolean putEndl=Standard_True) const
| See above .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Message_SequenceOfPrinters | myPrinters

## Constructor & Destructor Documentation

Standard_EXPORT Message_Messenger::Message_Messenger | ( |  | ) |

Standard_EXPORT Message_Messenger::Message_Messenger | ( | const Handle(Message_Printer)& | thePrinter | ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean Message_Messenger::AddPrinter | ( | const Handle(Message_Printer)& | thePrinter | ) |

Message_SequenceOfPrinters & Message_Messenger::ChangePrinters | ( |  | ) | `[inline]`

Standard_EXPORT const Message_Messenger::Handle | ( | Standard_Type |  | ) | const

| Reimplemented from MMgt_TShared.

const Message_SequenceOfPrinters & Message_Messenger::Printers | ( |  | ) | const`[inline]`

Standard_EXPORT Standard_Boolean Message_Messenger::RemovePrinter | ( | const Handle(Message_Printer)& | thePrinter | ) |

Standard_EXPORT Standard_Integer Message_Messenger::RemovePrinters | ( | const Handle(Standard_Type)& | theType | ) |

Standard_EXPORT void Message_Messenger::Send | ( | const TCollection_ExtendedString & | theString,
|  | const Message_Gravity | theGravity = `Message_Warning`,
|  | const Standard_Boolean | putEndl = `Standard_True`
| ) | const

Standard_EXPORT void Message_Messenger::Send | ( | const TCollection_AsciiString & | theString,
|  | const Message_Gravity | theGravity = `Message_Warning`,
|  | const Standard_Boolean | putEndl = `Standard_True`
| ) | const

Standard_EXPORT void Message_Messenger::Send | ( | const Standard_CString | theString,
|  | const Message_Gravity | theGravity = `Message_Warning`,
|  | const Standard_Boolean | putEndl = `Standard_True`
| ) | const

## Field Documentation

Message_SequenceOfPrinters Message_Messenger::myPrinters `[private]`

The documentation for this class was generated from the following files:

- Message_Messenger.hxx
- Message_Messenger.lxx