The Gaudi Framework  master (37c0b60a)
IInterface.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 \***********************************************************************************/
11 #include <GaudiKernel/IInterface.h>
12 #include <GaudiKernel/StatusCode.h>
13 
14 namespace {
15  struct IInterfaceCategory : StatusCode::Category {
16  const char* name() const override { return "IInterface"; }
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<IInterface::Status>( code ) ) {
23  return "NO_INTERFACE";
25  return "VERSMISMATCH";
26  default:
27  return StatusCode::default_category().message( code );
28  }
29  }
30  };
31 } // namespace
32 
33 STATUSCODE_ENUM_IMPL( IInterface::Status, IInterfaceCategory )
std::string
STL class.
StatusCode::default_category
static const Category & default_category() noexcept
Default Gaudi StatusCode category.
Definition: StatusCode.h:310
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
IInterface::Status::NO_INTERFACE
@ NO_INTERFACE
Requested interface is not available.
StatusCode.h
IInterface::Status
Status
Return status.
Definition: IInterface.h:292
IInterface.h
StatusCode::Category
Definition: StatusCode.h:78
IInterface::Status::VERSMISMATCH
@ VERSMISMATCH
Requested interface version is incompatible.
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
StatusCode::Category::message
virtual std::string message(code_t code) const
Description for code within this category.
Definition: StatusCode.h:86