| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

StatusCode Class Reference

This class is used for returning status codes from appropriate routines. More...

#include <GaudiKernel/StatusCode.h>

Collaboration diagram for StatusCode:

[legend]
List of all members.

Public Types

 FAILURE = 0
 SUCCESS = 1
 RECOVERABLE = 2
enum  { FAILURE = 0, SUCCESS = 1, RECOVERABLE = 2 }

Public Member Functions

 StatusCode ()
 Constructor.
 StatusCode (unsigned long code, const IssueSeverity &)
 StatusCode (unsigned long code, bool checked=false)
 StatusCode (const StatusCode &sc)
 ~StatusCode ()
 Destructor.
bool isSuccess () const
 Test for a status code of SUCCESS.
bool isFailure () const
 Test for a status code of FAILURE.
bool isRecoverable () const
unsigned long getCode () const
 Get the status code by value.
void setCode (unsigned long)
 Set the status code by value.
void setChecked () const
 Ignore the checking code;.
void ignore () const
 operator unsigned long () const
 Cast operator.
const IssueSeverityseverity () const
 Severity.
StatusCodeoperator= (unsigned long value)
 Assignment operator.
StatusCodeoperator= (const StatusCode &rhs)
 operator IgnoreError () const

Static Public Member Functions

static void enableChecking ()
static void disableChecking ()

Static Protected Member Functions

static IssueSeveritycloneSeverity (const IssueSeverity *)

Protected Attributes

unsigned long d_code
 The status code. The status code.
bool m_checked
 If the Status code has been checked.
IssueSeveritym_severity
 Pointer to a IssueSeverity.

Static Protected Attributes

static bool s_checking
 Global flag to control if StatusCode need to be checked.

Friends

bool operator< (const StatusCode &a, const StatusCode &b)
 Comparison operator.
bool operator> (const StatusCode &a, const StatusCode &b)
 Comparison operator.

Detailed Description

This class is used for returning status codes from appropriate routines.

Author:
Iain Last

Pere Mato

Sebastien Ponce

Definition at line 24 of file StatusCode.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
FAILURE 
SUCCESS 
RECOVERABLE 

Definition at line 26 of file StatusCode.h.

00026        {
00027     FAILURE = 0,
00028     SUCCESS = 1,
00029     RECOVERABLE = 2
00030   };


Constructor & Destructor Documentation

StatusCode::StatusCode (  )  [inline]

Constructor.

Definition at line 102 of file StatusCode.h.

00102                              :
00103   d_code(SUCCESS), m_checked(false), m_severity(0) {}

StatusCode::StatusCode ( unsigned long  code,
const IssueSeverity  
) [inline]

Definition at line 108 of file StatusCode.h.

00108                                                                             :
00109   d_code(code),m_checked(false), m_severity(cloneSeverity(&sev)) {
00110 }

StatusCode::StatusCode ( unsigned long  code,
bool  checked = false 
) [inline]

Definition at line 105 of file StatusCode.h.

00105                                                                 :
00106   d_code(code),m_checked(checked), m_severity(0) {}

StatusCode::StatusCode ( const StatusCode sc  )  [inline]

Definition at line 112 of file StatusCode.h.

00112                                                      {
00113   d_code = rhs.d_code;
00114   m_checked = rhs.m_checked;
00115   rhs.m_checked = true;
00116   m_severity = rhs.m_severity ? cloneSeverity(rhs.m_severity) : 0;
00117 }

StatusCode::~StatusCode (  ) 

Destructor.


Member Function Documentation

bool StatusCode::isSuccess (  )  const [inline]

Test for a status code of SUCCESS.

N.B. This is the only case where a function has succeeded.

Definition at line 129 of file StatusCode.h.

00129                                         {
00130   m_checked = true;
00131   return (d_code == SUCCESS );
00132 }

bool StatusCode::isFailure (  )  const [inline]

Test for a status code of FAILURE.

N.B. This is a specific type of failure where there aren't any more appropriate staus codes. To test for any failure use : if ( !StatusCode.isSuccess() ) ...

Definition at line 134 of file StatusCode.h.

00134                                         {
00135   m_checked = true;
00136   return (d_code != SUCCESS );
00137 }

bool StatusCode::isRecoverable (  )  const [inline]

Definition at line 139 of file StatusCode.h.

00139                                             {
00140   m_checked = true;
00141   return (d_code == RECOVERABLE);
00142 }

unsigned long StatusCode::getCode (  )  const [inline]

Get the status code by value.

Definition at line 144 of file StatusCode.h.

00144                                                {
00145   m_checked = true;
00146   return d_code;
00147 }

void StatusCode::setCode ( unsigned  long  )  [inline]

Set the status code by value.

Definition at line 149 of file StatusCode.h.

00149                                                    {
00150   m_checked = false;
00151   d_code = value;
00152 }

void StatusCode::setChecked (  )  const [inline]

Ignore the checking code;.

Definition at line 154 of file StatusCode.h.

00154                                          {
00155   m_checked = true;
00156 }

void StatusCode::ignore (  )  const [inline]

Definition at line 158 of file StatusCode.h.

00158                                      {
00159   m_checked = true;
00160 }

StatusCode::operator unsigned long (  )  const [inline]

Cast operator.

Definition at line 162 of file StatusCode.h.

00162                                                  {
00163   m_checked = true;
00164   return d_code;
00165 }

const IssueSeverity& StatusCode::severity (  )  const

Severity.

StatusCode & StatusCode::operator= ( unsigned long  value  )  [inline]

Assignment operator.

Definition at line 167 of file StatusCode.h.

00167                                                               {
00168   d_code = value;
00169   m_checked = false;
00170   return *this;
00171 }

StatusCode & StatusCode::operator= ( const StatusCode rhs  )  [inline]

Definition at line 119 of file StatusCode.h.

00119                                                               {
00120   if (this == &rhs) return *this; // Protection against self-assignment
00121   d_code = rhs.d_code;
00122   m_checked = rhs.m_checked;
00123   rhs.m_checked = true;
00124   if (m_severity) delete m_severity;
00125   m_severity = rhs.m_severity ? cloneSeverity(rhs.m_severity): 0;
00126   return *this;
00127 }

StatusCode::operator IgnoreError (  )  const [inline]

Definition at line 82 of file StatusCode.h.

00082                                {
00083     m_checked = true;
00084     return IgnoreError();
00085   }

static void StatusCode::enableChecking (  )  [static]

static void StatusCode::disableChecking (  )  [static]

static IssueSeverity* StatusCode::cloneSeverity ( const IssueSeverity  )  [static, protected]


Friends And Related Function Documentation

bool operator< ( const StatusCode a,
const StatusCode b 
) [friend]

Comparison operator.

Definition at line 173 of file StatusCode.h.

00173                                                                    {
00174   return a.d_code < b.d_code;
00175 }

bool operator> ( const StatusCode a,
const StatusCode b 
) [friend]

Comparison operator.

Definition at line 177 of file StatusCode.h.

00177                                                                    {
00178   return a.d_code > b.d_code;
00179 }


Member Data Documentation

unsigned long StatusCode::d_code [protected]

The status code. The status code.

Definition at line 93 of file StatusCode.h.

bool StatusCode::m_checked [mutable, protected]

If the Status code has been checked.

Definition at line 94 of file StatusCode.h.

IssueSeverity* StatusCode::m_severity [protected]

Pointer to a IssueSeverity.

Definition at line 95 of file StatusCode.h.

bool StatusCode::s_checking [static, protected]

Global flag to control if StatusCode need to be checked.

Definition at line 97 of file StatusCode.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:15 2011 for GaudiKernel by doxygen 1.4.7