The Gaudi Framework  v37r0 (b608885e)
FunctionalFilterDecision.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 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 
13 namespace Gaudi::Functional {
14 
16  const char* name() const override { return "FilterDecision"; }
17  bool isSuccess( StatusCode::code_t code ) const override {
18  return ( static_cast<FilterDecision>( code ) == FilterDecision::PASSED or
19  static_cast<FilterDecision>( code ) == FilterDecision::FAILED );
20  }
21  bool isRecoverable( StatusCode::code_t ) const override { return false; }
22  std::string message( StatusCode::code_t code ) const override {
23  switch ( static_cast<FilterDecision>( code ) ) {
25  return "Filter decision: PASSED";
27  return "Filter decision: FAILED";
28  default:
29  return StatusCode::default_category().message( code );
30  }
31  }
32  };
33 } // namespace Gaudi::Functional
34 
std::string
STL class.
StatusCode::default_category
static const Category & default_category() noexcept
Default Gaudi StatusCode category.
Definition: StatusCode.h:310
Gaudi::Functional::FilterDecisionErrorCategory::isRecoverable
bool isRecoverable(StatusCode::code_t) const override
Is code considered recoverable ?
Definition: FunctionalFilterDecision.cpp:21
Gaudi::Functional::FilterDecisionErrorCategory::isSuccess
bool isSuccess(StatusCode::code_t code) const override
Is code considered success ?
Definition: FunctionalFilterDecision.cpp:17
Gaudi::Functional::FilterDecision::FAILED
@ FAILED
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
StatusCode::Category
Definition: StatusCode.h:78
Gaudi::Functional::FilterDecision
FilterDecision
Definition: FunctionalFilterDecision.h:17
Gaudi::Functional::FilterDecision::PASSED
@ PASSED
Gaudi::Functional
Definition: FunctionalUtilities.h:18
Gaudi::Functional::FilterDecisionErrorCategory
Definition: FunctionalFilterDecision.cpp:15
STATUSCODE_ENUM_IMPL
#define STATUSCODE_ENUM_IMPL(...)
Assign a category to the StatusCode enum declared with STATUSCODE_ENUM_DECL( ENUM )
Definition: StatusCode.h:295
Gaudi::Functional::FilterDecisionErrorCategory::name
const char * name() const override
Name of the category.
Definition: FunctionalFilterDecision.cpp:16
FunctionalFilterDecision.h
Gaudi::Functional::FilterDecisionErrorCategory::message
std::string message(StatusCode::code_t code) const override
Description for code within this category.
Definition: FunctionalFilterDecision.cpp:22
StatusCode::Category::message
virtual std::string message(code_t code) const
Description for code within this category.
Definition: StatusCode.h:86