The Gaudi Framework  master (37c0b60a)
IDataProviderSvc.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 IDataProviderSvcCategory : StatusCode::Category {
16  const char* name() const override { return "IDataProviderSvc"; }
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<IDataProviderSvc::Status>( code ) ) {
23  return "DOUBL_OBJ_PATH";
25  return "INVALID_OBJ_PATH";
27  return "INVALID_ROOT";
29  return "INVALID_OBJECT";
31  return "INVALID_PARENT";
33  return "OBJ_NOT_LOADED";
35  return "NO_DATA_LOADER";
37  return "INVALID_OBJ_ADDR";
39  return "DIR_NOT_EMPTY";
41  return "NO_MORE_LEVELS";
43  return "NO_ACCESS";
44  default:
45  return StatusCode::default_category().message( code );
46  }
47  }
48  };
49 } // namespace
50 
51 STATUSCODE_ENUM_IMPL( IDataProviderSvc::Status, IDataProviderSvcCategory )
IDataProviderSvc::Status::INVALID_OBJ_PATH
@ INVALID_OBJ_PATH
Invalid path from root to object request failed.
std::string
STL class.
IDataProviderSvc::Status::NO_MORE_LEVELS
@ NO_MORE_LEVELS
Automatic data loading had to stop: maximum depth.
StatusCode::default_category
static const Category & default_category() noexcept
Default Gaudi StatusCode category.
Definition: StatusCode.h:310
IDataProviderSvc::Status::INVALID_PARENT
@ INVALID_PARENT
Pointer to parent object is not valid.
IDataProviderSvc::Status::DOUBL_OBJ_PATH
@ DOUBL_OBJ_PATH
The path for this objects is already in use.
IDataProviderSvc::Status::NO_DATA_LOADER
@ NO_DATA_LOADER
No data loader available.
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
IDataProviderSvc::Status::INVALID_OBJ_ADDR
@ INVALID_OBJ_ADDR
Invalid object address.
StatusCode.h
IDataProviderSvc.h
IDataProviderSvc::Status::INVALID_ROOT
@ INVALID_ROOT
Invalid root path object cannot be retrieved or stored.
StatusCode::Category
Definition: StatusCode.h:78
IDataProviderSvc::Status::OBJ_NOT_LOADED
@ OBJ_NOT_LOADED
Sorry, the requested object is not loaded.
IDataProviderSvc::Status::DIR_NOT_EMPTY
@ DIR_NOT_EMPTY
Directory entry is NOT empty.
STATUSCODE_ENUM_IMPL
#define STATUSCODE_ENUM_IMPL(...)
Assign a category to the StatusCode enum declared with STATUSCODE_ENUM_DECL( ENUM )
Definition: StatusCode.h:295
IDataProviderSvc::Status::INVALID_OBJECT
@ INVALID_OBJECT
Object pointer is invalid.
IDataProviderSvc::Status::NO_ACCESS
@ NO_ACCESS
Access to the requested leaf is inhibited.
StatusCode::Category::name
virtual const char * name() const =0
Name of the category.
IDataProviderSvc::Status
Status
Status code definitions.
Definition: IDataProviderSvc.h:558
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