Open CASCADE Technology
7.5.0
|
Container for alert messages, sorted according to their gravity. More...
#include <Message_Report.hxx>
Public Member Functions | |
Message_Report () | |
Empty constructor. More... | |
void | AddAlert (Message_Gravity theGravity, const Handle< Message_Alert > &theAlert) |
Add alert with specified gravity. This method is thread-safe, i.e. alerts can be added from parallel threads safely. More... | |
const Message_ListOfAlert & | GetAlerts (Message_Gravity theGravity) const |
Returns list of collected alerts with specified gravity. More... | |
Standard_Boolean | HasAlert (const Handle< Standard_Type > &theType) |
Returns true if specific type of alert is recorded. More... | |
Standard_Boolean | HasAlert (const Handle< Standard_Type > &theType, Message_Gravity theGravity) |
Returns true if specific type of alert is recorded with specified gravity. More... | |
Standard_Boolean | IsActiveInMessenger (const Handle< Message_Messenger > &theMessenger=NULL) const |
Returns true if a report printer for the current report is registered in the messenger. More... | |
void | ActivateInMessenger (const Standard_Boolean toActivate, const Handle< Message_Messenger > &theMessenger=NULL) |
Creates an instance of Message_PrinterToReport with the current report and register it in messenger. More... | |
void | UpdateActiveInMessenger (const Handle< Message_Messenger > &theMessenger=NULL) |
Updates internal flag IsActiveInMessenger. It becomes true if messenger contains at least one instance of Message_PrinterToReport. More... | |
void | AddLevel (Message_Level *theLevel, const TCollection_AsciiString &theName) |
Add new level of alerts. More... | |
void | RemoveLevel (Message_Level *theLevel) |
Remove level of alerts. More... | |
void | Clear () |
Clears all collected alerts. More... | |
void | Clear (Message_Gravity theGravity) |
Clears collected alerts with specified gravity. More... | |
void | Clear (const Handle< Standard_Type > &theType) |
Clears collected alerts with specified type. More... | |
const NCollection_IndexedMap< Message_MetricType > & | ActiveMetrics () const |
Returns computed metrics when alerts are performed. More... | |
void | SetActiveMetric (const Message_MetricType theMetricType, const Standard_Boolean theActivate) |
Sets metrics to compute when alerts are performed. More... | |
void | ClearMetrics () |
Removes all activated metrics. More... | |
Standard_Integer | Limit () const |
Returns maximum number of collecting alerts. If the limit is achieved, first alert is removed, the new alert is added in the container. More... | |
void | SetLimit (const Standard_Integer theLimit) |
Sets maximum number of collecting alerts. More... | |
void | Dump (Standard_OStream &theOS) |
Dumps all collected alerts to stream. More... | |
void | Dump (Standard_OStream &theOS, Message_Gravity theGravity) |
Dumps collected alerts with specified gravity to stream. More... | |
virtual void | SendMessages (const Handle< Message_Messenger > &theMessenger) |
Sends all collected alerts to messenger. More... | |
virtual void | SendMessages (const Handle< Message_Messenger > &theMessenger, Message_Gravity theGravity) |
Dumps collected alerts with specified gravity to messenger. Default implementation creates Message_Msg object with a message key returned by alert, and sends it in the messenger. More... | |
void | Merge (const Handle< Message_Report > &theOther) |
Merges data from theOther report into this. More... | |
void | Merge (const Handle< Message_Report > &theOther, Message_Gravity theGravity) |
Merges alerts with specified gravity from theOther report into this. More... | |
void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. More... | |
![]() | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Protected Member Functions | |
const Handle< Message_CompositeAlerts > & | compositeAlerts (const Standard_Boolean isCreate=Standard_False) |
Returns class provided hierarchy of alerts if created or create if the parameter is true. More... | |
void | sendMessages (const Handle< Message_Messenger > &theMessenger, Message_Gravity theGravity, const Handle< Message_CompositeAlerts > &theCompositeAlert) |
Sends alerts to messenger. More... | |
void | dumpMessages (Standard_OStream &theOS, Message_Gravity theGravity, const Handle< Message_CompositeAlerts > &theCompositeAlert) |
Dumps collected alerts with specified gravity to stream. More... | |
Protected Attributes | |
Standard_Mutex | myMutex |
Handle< Message_CompositeAlerts > | myCompositAlerts |
container of alerts More... | |
NCollection_Sequence< Message_Level * > | myAlertLevels |
container of active levels, new alerts are added below the latest level More... | |
NCollection_IndexedMap< Message_MetricType > | myActiveMetrics |
metrics to compute on alerts More... | |
Standard_Integer | myLimit |
Maximum number of collected alerts on the top level. More... | |
Standard_Boolean | myIsActiveInMessenger |
Additional Inherited Members | |
![]() | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
![]() | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Container for alert messages, sorted according to their gravity.
For each gravity level, alerts are stored in simple list. If alert being added can be merged with another alert of the same type already in the list, it is merged and not added to the list.
This class is intended to be used as follows:
Message_PrinterToReport is a printer in Messenger to convert data sent to messenger into report
Message_Report::Message_Report | ( | ) |
Empty constructor.
void Message_Report::ActivateInMessenger | ( | const Standard_Boolean | toActivate, |
const Handle< Message_Messenger > & | theMessenger = NULL |
||
) |
Creates an instance of Message_PrinterToReport with the current report and register it in messenger.
toActivate | if true, activated else deactivated |
theMessenger | the messenger. If it's NULL, the default messenger is used |
|
inline |
Returns computed metrics when alerts are performed.
void Message_Report::AddAlert | ( | Message_Gravity | theGravity, |
const Handle< Message_Alert > & | theAlert | ||
) |
Add alert with specified gravity. This method is thread-safe, i.e. alerts can be added from parallel threads safely.
void Message_Report::AddLevel | ( | Message_Level * | theLevel, |
const TCollection_AsciiString & | theName | ||
) |
Add new level of alerts.
theLevel | a level |
void Message_Report::Clear | ( | ) |
Clears all collected alerts.
void Message_Report::Clear | ( | Message_Gravity | theGravity | ) |
Clears collected alerts with specified gravity.
void Message_Report::Clear | ( | const Handle< Standard_Type > & | theType | ) |
Clears collected alerts with specified type.
|
inline |
Removes all activated metrics.
|
protected |
Returns class provided hierarchy of alerts if created or create if the parameter is true.
isCreate | if composite alert has not been created for this alert, it should be created |
void Message_Report::Dump | ( | Standard_OStream & | theOS | ) |
Dumps all collected alerts to stream.
void Message_Report::Dump | ( | Standard_OStream & | theOS, |
Message_Gravity | theGravity | ||
) |
Dumps collected alerts with specified gravity to stream.
void Message_Report::DumpJson | ( | Standard_OStream & | theOStream, |
Standard_Integer | theDepth = -1 |
||
) | const |
Dumps the content of me into the stream.
|
protected |
Dumps collected alerts with specified gravity to stream.
const Message_ListOfAlert& Message_Report::GetAlerts | ( | Message_Gravity | theGravity | ) | const |
Returns list of collected alerts with specified gravity.
Standard_Boolean Message_Report::HasAlert | ( | const Handle< Standard_Type > & | theType | ) |
Returns true if specific type of alert is recorded.
Standard_Boolean Message_Report::HasAlert | ( | const Handle< Standard_Type > & | theType, |
Message_Gravity | theGravity | ||
) |
Returns true if specific type of alert is recorded with specified gravity.
Standard_Boolean Message_Report::IsActiveInMessenger | ( | const Handle< Message_Messenger > & | theMessenger = NULL | ) | const |
Returns true if a report printer for the current report is registered in the messenger.
theMessenger | the messenger. If it's NULL, the default messenger is used |
|
inline |
Returns maximum number of collecting alerts. If the limit is achieved, first alert is removed, the new alert is added in the container.
void Message_Report::Merge | ( | const Handle< Message_Report > & | theOther | ) |
Merges data from theOther report into this.
void Message_Report::Merge | ( | const Handle< Message_Report > & | theOther, |
Message_Gravity | theGravity | ||
) |
Merges alerts with specified gravity from theOther report into this.
void Message_Report::RemoveLevel | ( | Message_Level * | theLevel | ) |
Remove level of alerts.
|
virtual |
Sends all collected alerts to messenger.
|
virtual |
Dumps collected alerts with specified gravity to messenger. Default implementation creates Message_Msg object with a message key returned by alert, and sends it in the messenger.
|
protected |
Sends alerts to messenger.
void Message_Report::SetActiveMetric | ( | const Message_MetricType | theMetricType, |
const Standard_Boolean | theActivate | ||
) |
Sets metrics to compute when alerts are performed.
theMetrics | container of metrics |
|
inline |
Sets maximum number of collecting alerts.
theLimit | limit value |
void Message_Report::UpdateActiveInMessenger | ( | const Handle< Message_Messenger > & | theMessenger = NULL | ) |
Updates internal flag IsActiveInMessenger. It becomes true if messenger contains at least one instance of Message_PrinterToReport.
theMessenger | the messenger. If it's NULL, the default messenger is used |
|
protected |
metrics to compute on alerts
|
protected |
container of active levels, new alerts are added below the latest level
|
protected |
container of alerts
|
protected |
|
protected |
Maximum number of collected alerts on the top level.
|
protected |