// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Message_Messenger_HeaderFile #define _Message_Messenger_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_Message_Messenger_HeaderFile #include #endif #ifndef _Message_SequenceOfPrinters_HeaderFile #include #endif #ifndef _MMgt_TShared_HeaderFile #include #endif #ifndef _Handle_Message_Printer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Handle_Standard_Type_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif #ifndef _Message_Gravity_HeaderFile #include #endif class Message_Printer; class Standard_Type; class Message_SequenceOfPrinters; class TCollection_AsciiString; class TCollection_ExtendedString; //! 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.
class Message_Messenger : public MMgt_TShared { public: //! 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(); //! Create messenger with single printer
Standard_EXPORT Message_Messenger(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 AddPrinter(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_Boolean RemovePrinter(const Handle(Message_Printer)& thePrinter) ; //! Removes printers of specified type (including derived classes)
//! from the messenger.
//! Returns number of removed printers.
Standard_EXPORT Standard_Integer RemovePrinters(const Handle(Standard_Type)& theType) ; //! Returns current sequence of printers
const Message_SequenceOfPrinters& Printers() const; //! Returns sequence of printers
//! The sequence can be modified.
Message_SequenceOfPrinters& ChangePrinters() ; //! 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 Standard_CString theString,const Message_Gravity theGravity = Message_Warning,const Standard_Boolean putEndl = Standard_True) const; //! See above
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; DEFINE_STANDARD_RTTI(Message_Messenger) protected: private: Message_SequenceOfPrinters myPrinters; }; #include // other Inline functions and methods (like "C++: function call" methods) #endif