OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKernel
Message


Message_ExecStatus Class Reference

#include <Message_ExecStatus.hxx>


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 status)
 Returns index of status in whole range [FirstStatus, LastStatus].
static Standard_Integer LocalStatusIndex (Message_Status status)
 Returns index of status inside type of status (Done or Warn or, etc) in range [1, StatusesPerType].
static Message_StatusType TypeOfStatus (Message_Status status)
 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].

Public Member Functions

Creation and simple operations with statuses
 Message_ExecStatus ()
 Create empty execution status.
 Message_ExecStatus (Message_Status status)
 Initialise the execution status.
void Set (Message_Status status)
 Sets a status flag.
Standard_Boolean IsSet (Message_Status status) const
 Check status for being set.
void Clear (Message_Status status)
 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.

Private Types

enum  StatusMask { MType = 0x0000ff00, MIndex = 0x000000ff }
 Mask to separate bits indicating status type and index within the type. More...

Static Private Member Functions

static int getBitFlag (int status)

Private Attributes

Standard_Integer myDone
Standard_Integer myWarn
Standard_Integer myAlarm
Standard_Integer myFail


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:


Member Enumeration Documentation

enum Message_ExecStatus::StatusMask [private]
 

Enumeration values:
MType 
MIndex 

enum Message_ExecStatus::StatusRange
 

Enumeration values:
FirstStatus 
StatusesPerType 
NbStatuses 
LastStatus 


Constructor & Destructor Documentation

Message_ExecStatus::Message_ExecStatus  )  [inline]
 

Message_ExecStatus::Message_ExecStatus Message_Status  status  )  [inline]
 


Member Function Documentation

void Message_ExecStatus::Add const Message_ExecStatus theOther  )  [inline]
 

void Message_ExecStatus::And const Message_ExecStatus theOther  )  [inline]
 

void Message_ExecStatus::Clear  )  [inline]
 

void Message_ExecStatus::Clear Message_Status  status  )  [inline]
 

void Message_ExecStatus::ClearAllAlarm  )  [inline]
 

void Message_ExecStatus::ClearAllDone  )  [inline]
 

void Message_ExecStatus::ClearAllFail  )  [inline]
 

void Message_ExecStatus::ClearAllWarn  )  [inline]
 

static int Message_ExecStatus::getBitFlag int  status  )  [inline, static, private]
 

Standard_Boolean Message_ExecStatus::IsAlarm  )  const [inline]
 

Standard_Boolean Message_ExecStatus::IsDone  )  const [inline]
 

Standard_Boolean Message_ExecStatus::IsFail  )  const [inline]
 

Standard_Boolean Message_ExecStatus::IsSet Message_Status  status  )  const [inline]
 

Standard_Boolean Message_ExecStatus::IsWarn  )  const [inline]
 

static Standard_Integer Message_ExecStatus::LocalStatusIndex Message_Status  status  )  [inline, static]
 

const Message_ExecStatus& Message_ExecStatus::operator &= const Message_ExecStatus theOther  )  [inline]
 

const Message_ExecStatus& Message_ExecStatus::operator|= const Message_ExecStatus theOther  )  [inline]
 

void Message_ExecStatus::Set Message_Status  status  )  [inline]
 

void Message_ExecStatus::SetAllAlarm  )  [inline]
 

void Message_ExecStatus::SetAllDone  )  [inline]
 

void Message_ExecStatus::SetAllFail  )  [inline]
 

void Message_ExecStatus::SetAllWarn  )  [inline]
 

static Message_Status Message_ExecStatus::StatusByIndex const Standard_Integer  theIndex  )  [inline, static]
 

static Standard_Integer Message_ExecStatus::StatusIndex Message_Status  status  )  [inline, static]
 

static Message_StatusType Message_ExecStatus::TypeOfStatus Message_Status  status  )  [inline, static]
 


Field Documentation

Standard_Integer Message_ExecStatus::myAlarm [private]
 

Standard_Integer Message_ExecStatus::myDone [private]
 

Standard_Integer Message_ExecStatus::myFail [private]
 

Standard_Integer Message_ExecStatus::myWarn [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:12:47 2008 for OpenCASCADE by  doxygen 1.4.1