ATLAS Offline Software
DbStatus.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: DbStatus.h 726071 2016-02-25 09:23:05Z krasznaa $
6 //====================================================================
7 // Storage Service DbStatus definition file
8 //--------------------------------------------------------------------
9 //
10 // @author M.Frank
11 //====================================================================
12 #ifndef POOL_DBSTATUS_H
13 #define POOL_DBSTATUS_H 1
14 
15 /*
16  * POOL namespace declaration
17  */
18 namespace pool {
19 
64  class DbStatus {
65  private:
66  unsigned int m_code;
67 
68  public:
69  enum ErrorLevel {
70  Success = 1,
71  Info = (1u<<30),
72  Warning = (1u<<31),
73  Error = (1u<<31) + (1u<<30)
74  };
78  DbStatus(const DbStatus&) = default;
79  DbStatus& operator=(const DbStatus&) = default;
81  DbStatus(unsigned int code) : m_code(code) { }
83  DbStatus(ErrorLevel lvl, unsigned int fac, unsigned int code);
85  ~DbStatus() = default;
87  operator unsigned int() const { return m_code; }
89  DbStatus& operator=(unsigned int value) { m_code = value; return *this;}
91  unsigned int severity() const { return m_code>>30; }
93  unsigned int facility() const { return (m_code&0x0FFF0000)>>16; }
95  unsigned int code() const { return m_code&0x0000FFFF; }
97  unsigned int reserved() const { return (m_code&0x3FFFFFFF)>>28; }
99  unsigned int value() const { return m_code; }
101  bool isSuccess() const { return (m_code>>30)==0 && (m_code&1); }
103  bool isInfo() const { return (m_code>>30)==1; }
105  bool isWarning() const { return (m_code>>30)==2; }
107  bool isError() const { return (m_code>>30)==3; }
109  static unsigned int success() { return Success; }
111  static unsigned int info() { return Info; }
113  static unsigned int warning() { return Warning; }
115  static unsigned int error() { return Error; }
116 
118  friend bool operator< ( const DbStatus& a, const DbStatus& b );
120  friend bool operator> ( const DbStatus& a, const DbStatus& b );
121  };
122 
123 
124  inline DbStatus::DbStatus(DbStatus::ErrorLevel lvl, unsigned int fac, unsigned int cod)
125  { m_code = (lvl&Error)+((fac&0x0FFF)<<16)+(cod&0xFFFF); }
126  inline bool operator< ( const DbStatus& a, const DbStatus& b )
127  { return a.m_code < b.m_code; }
128  inline bool operator> ( const DbStatus& a, const DbStatus& b )
129  { return a.m_code < b.m_code; }
130 }
131 
132 #endif // POOL_DBSTATUS_H
pool::DbStatus::facility
unsigned int facility() const
Access facility code.
Definition: DbStatus.h:93
pool::DbStatus::info
static unsigned int info()
Access bit mask field for Informational messages.
Definition: DbStatus.h:111
pool::DbStatus
Definition: DbStatus.h:64
pool::DbStatus::ErrorLevel
ErrorLevel
Definition: DbStatus.h:69
pool::DbStatus::Info
@ Info
Definition: DbStatus.h:71
pool
pool namespace
Definition: libname.h:15
pool::DbStatus::operator=
DbStatus & operator=(const DbStatus &)=default
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
pool::operator>
bool operator>(const DbStatus &a, const DbStatus &b)
Definition: DbStatus.h:128
pool::DbStatus::isInfo
bool isInfo() const
Check if the return code indicated an informational message.
Definition: DbStatus.h:103
pool::DbStatus::code
unsigned int code() const
Access error code value.
Definition: DbStatus.h:95
pool::DbStatus::isWarning
bool isWarning() const
Check if the return code indicated a warning.
Definition: DbStatus.h:105
pool::DbStatus::~DbStatus
~DbStatus()=default
Default destructor. Non virtual for performance reasons. Do NOT inherit.
pool::operator<
bool operator<(const DbStatus &a, const DbStatus &b)
Definition: DbStatus.h:126
pool::DbStatus::isError
bool isError() const
Check if the return code indicated an error.
Definition: DbStatus.h:107
pool::DbStatus::error
static unsigned int error()
Access bit mask field for Error messages.
Definition: DbStatus.h:115
pool::DbStatus::isSuccess
bool isSuccess() const
Check if the return code indicated success.
Definition: DbStatus.h:101
pool::DbStatus::operator>
friend bool operator>(const DbStatus &a, const DbStatus &b)
Comparison operator greater.
Definition: DbStatus.h:128
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
pool::DbStatus::severity
unsigned int severity() const
Access severity code.
Definition: DbStatus.h:91
pool::DbStatus::warning
static unsigned int warning()
Access bit mask field for Warning messages.
Definition: DbStatus.h:113
pool::DbStatus::reserved
unsigned int reserved() const
Access the reserved bits.
Definition: DbStatus.h:97
pool::DbStatus::operator<
friend bool operator<(const DbStatus &a, const DbStatus &b)
Comparison operator lesser.
Definition: DbStatus.h:126
a
TList * a
Definition: liststreamerinfos.cxx:10
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
pool::DbStatus::m_code
unsigned int m_code
Definition: DbStatus.h:66
pool::DbStatus::value
unsigned int value() const
Acces fully encoded value.
Definition: DbStatus.h:99
pool::DbStatus::DbStatus
DbStatus(unsigned int code)
Standard constructor with initialization from long value.
Definition: DbStatus.h:81
pool::DbStatus::DbStatus
DbStatus(const DbStatus &)=default
Default copy constructor.
pool::DbStatus::operator=
DbStatus & operator=(unsigned int value)
Assignment operator.
Definition: DbStatus.h:89
pool::DbStatus::DbStatus
DbStatus()
Standard Constructor. Defaults to Error.
Definition: DbStatus.h:76
pool::DbStatus::Error
@ Error
Definition: DbStatus.h:73
pool::DbStatus::Success
@ Success
Definition: DbStatus.h:70
pool::DbStatus::Warning
@ Warning
Definition: DbStatus.h:72
pool::DbStatus::success
static unsigned int success()
Access bit mask field for Success messages.
Definition: DbStatus.h:109