Open CASCADE Technology 7.8.2.dev
Message_ExecStatus Class Reference

#include <Message_ExecStatus.hxx>

Public Member Functions

Creation and simple operations with statuses
 Message_ExecStatus ()
 Create empty execution status.
 
 Message_ExecStatus (Message_Status theStatus)
 Initialise the execution status.
 
void Set (Message_Status theStatus)
 Sets a status flag.
 
Standard_Boolean IsSet (Message_Status theStatus) const
 Check status for being set.
 
void Clear (Message_Status theStatus)
 Clear one status.
 
Advanced: Group operations (useful for analysis)
Standard_Boolean IsDone () const
 Check if at least one status of each type is set.
 
Standard_Boolean IsFail () const
 Check if at least one status of each type is set.
 
Standard_Boolean IsWarn () const
 Check if at least one status of each type is set.
 
Standard_Boolean IsAlarm () const
 Check if at least one status of each type is set.
 
void SetAllDone ()
 Set all statuses of each type.
 
void SetAllWarn ()
 Check if at least one status of each type is set.
 
void SetAllAlarm ()
 Check if at least one status of each type is set.
 
void SetAllFail ()
 Check if at least one status of each type is set.
 
void ClearAllDone ()
 Clear all statuses of each type.
 
void ClearAllWarn ()
 Check if at least one status of each type is set.
 
void ClearAllAlarm ()
 Check if at least one status of each type is set.
 
void ClearAllFail ()
 Check if at least one status of each type is set.
 
void Clear ()
 Clear all statuses.
 
void Add (const Message_ExecStatus &theOther)
 Add statuses to me from theOther execution status.
 
const Message_ExecStatusoperator|= (const Message_ExecStatus &theOther)
 Check if at least one status of each type is set.
 
void And (const Message_ExecStatus &theOther)
 Leave only the statuses common with theOther.
 
const Message_ExecStatusoperator&= (const Message_ExecStatus &theOther)
 Check if at least one status of each type is set.
 

Advanced: Iteration and analysis of status flags

enum  StatusRange { FirstStatus = 1 , StatusesPerType = 32 , NbStatuses = 128 , LastStatus = 129 }
 Definitions of range of available statuses. More...
 
static Standard_Integer StatusIndex (Message_Status theStatus)
 Returns index of status in whole range [FirstStatus, LastStatus].
 
static Standard_Integer LocalStatusIndex (Message_Status theStatus)
 Returns index of status inside type of status (Done or Warn or, etc) in range [1, StatusesPerType].
 
static Message_StatusType TypeOfStatus (Message_Status theStatus)
 Returns status type (DONE, WARN, ALARM, or FAIL)
 
static Message_Status StatusByIndex (const Standard_Integer theIndex)
 Returns status with index theIndex in whole range [FirstStatus, LastStatus].
 

Detailed Description

Tiny class for extended handling of error / execution status of algorithm in universal way.

It is in fact a set of integers represented as a collection of bit flags for each of four types of status; each status flag has its own symbolic name and can be set/tested individually.

The flags are grouped in semantic groups:

  • No flags means nothing done
  • Done flags correspond to some operation successfully completed
  • Warning flags correspond to warning messages on some potentially wrong situation, not harming algorithm execution
  • Alarm flags correspond to more severe warnings about incorrect user data, while not breaking algorithm execution
  • Fail flags correspond to cases when algorithm failed to complete

Member Enumeration Documentation

◆ StatusRange

Definitions of range of available statuses.

Enumerator
FirstStatus 
StatusesPerType 
NbStatuses 
LastStatus 

Constructor & Destructor Documentation

◆ Message_ExecStatus() [1/2]

Message_ExecStatus::Message_ExecStatus ( )
inline

Create empty execution status.

◆ Message_ExecStatus() [2/2]

Message_ExecStatus::Message_ExecStatus ( Message_Status theStatus)
inline

Initialise the execution status.

Member Function Documentation

◆ Add()

void Message_ExecStatus::Add ( const Message_ExecStatus & theOther)
inline

Add statuses to me from theOther execution status.

◆ And()

void Message_ExecStatus::And ( const Message_ExecStatus & theOther)
inline

Leave only the statuses common with theOther.

◆ Clear() [1/2]

void Message_ExecStatus::Clear ( )
inline

Clear all statuses.

◆ Clear() [2/2]

void Message_ExecStatus::Clear ( Message_Status theStatus)
inline

Clear one status.

◆ ClearAllAlarm()

void Message_ExecStatus::ClearAllAlarm ( )
inline

Check if at least one status of each type is set.

◆ ClearAllDone()

void Message_ExecStatus::ClearAllDone ( )
inline

Clear all statuses of each type.

◆ ClearAllFail()

void Message_ExecStatus::ClearAllFail ( )
inline

Check if at least one status of each type is set.

◆ ClearAllWarn()

void Message_ExecStatus::ClearAllWarn ( )
inline

Check if at least one status of each type is set.

◆ IsAlarm()

Standard_Boolean Message_ExecStatus::IsAlarm ( ) const
inline

Check if at least one status of each type is set.

◆ IsDone()

Standard_Boolean Message_ExecStatus::IsDone ( ) const
inline

Check if at least one status of each type is set.

◆ IsFail()

Standard_Boolean Message_ExecStatus::IsFail ( ) const
inline

Check if at least one status of each type is set.

◆ IsSet()

Standard_Boolean Message_ExecStatus::IsSet ( Message_Status theStatus) const
inline

Check status for being set.

◆ IsWarn()

Standard_Boolean Message_ExecStatus::IsWarn ( ) const
inline

Check if at least one status of each type is set.

◆ LocalStatusIndex()

static Standard_Integer Message_ExecStatus::LocalStatusIndex ( Message_Status theStatus)
inlinestatic

Returns index of status inside type of status (Done or Warn or, etc) in range [1, StatusesPerType].

◆ operator&=()

const Message_ExecStatus & Message_ExecStatus::operator&= ( const Message_ExecStatus & theOther)
inline

Check if at least one status of each type is set.

◆ operator|=()

const Message_ExecStatus & Message_ExecStatus::operator|= ( const Message_ExecStatus & theOther)
inline

Check if at least one status of each type is set.

◆ Set()

void Message_ExecStatus::Set ( Message_Status theStatus)
inline

Sets a status flag.

◆ SetAllAlarm()

void Message_ExecStatus::SetAllAlarm ( )
inline

Check if at least one status of each type is set.

◆ SetAllDone()

void Message_ExecStatus::SetAllDone ( )
inline

Set all statuses of each type.

◆ SetAllFail()

void Message_ExecStatus::SetAllFail ( )
inline

Check if at least one status of each type is set.

◆ SetAllWarn()

void Message_ExecStatus::SetAllWarn ( )
inline

Check if at least one status of each type is set.

◆ StatusByIndex()

static Message_Status Message_ExecStatus::StatusByIndex ( const Standard_Integer theIndex)
inlinestatic

Returns status with index theIndex in whole range [FirstStatus, LastStatus].

◆ StatusIndex()

static Standard_Integer Message_ExecStatus::StatusIndex ( Message_Status theStatus)
inlinestatic

Returns index of status in whole range [FirstStatus, LastStatus].

◆ TypeOfStatus()

static Message_StatusType Message_ExecStatus::TypeOfStatus ( Message_Status theStatus)
inlinestatic

Returns status type (DONE, WARN, ALARM, or FAIL)


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