The Gaudi Framework  master (37c0b60a)
IPartitionControl.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
12 #include <GaudiKernel/StatusCode.h>
13 
14 namespace {
15  struct IPartitionControlCategory : StatusCode::Category {
16  const char* name() const override { return "IPartitionControl"; }
17 
18  bool isRecoverable( StatusCode::code_t ) const override { return false; }
19 
20  std::string message( StatusCode::code_t code ) const override {
21  switch ( static_cast<IPartitionControl::Status>( code ) ) {
23  return "PARTITION_NOT_PRESENT";
25  return "PARTITION_EXISTS";
27  return "NO_ACTIVE_PARTITION";
28  default:
29  return StatusCode::default_category().message( code );
30  }
31  }
32  };
33 } // namespace
34 
35 STATUSCODE_ENUM_IMPL( IPartitionControl::Status, IPartitionControlCategory )
std::string
STL class.
StatusCode::default_category
static const Category & default_category() noexcept
Default Gaudi StatusCode category.
Definition: StatusCode.h:310
IPartitionControl::Status::PARTITION_EXISTS
@ PARTITION_EXISTS
IPartitionControl::Status::PARTITION_NOT_PRESENT
@ PARTITION_NOT_PRESENT
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
StatusCode.h
IPartitionControl::Status
Status
Definition: IPartitionControl.h:184
StatusCode::Category
Definition: StatusCode.h:78
IPartitionControl::Status::NO_ACTIVE_PARTITION
@ NO_ACTIVE_PARTITION
STATUSCODE_ENUM_IMPL
#define STATUSCODE_ENUM_IMPL(...)
Assign a category to the StatusCode enum declared with STATUSCODE_ENUM_DECL( ENUM )
Definition: StatusCode.h:295
StatusCode::Category::name
virtual const char * name() const =0
Name of the category.
StatusCode::Category::isRecoverable
virtual bool isRecoverable(code_t code) const
Is code considered recoverable ?
Definition: StatusCode.h:93
IPartitionControl.h
StatusCode::Category::message
virtual std::string message(code_t code) const
Description for code within this category.
Definition: StatusCode.h:86