18#include "ers/Stream.h"
19#include "ers/Context.h"
20#include "ers/IssueFactory.h"
40 class Issue :
public std::exception {
89 virtual ~
Issue() throw() ;
94 operator
std::
string() const ;
97 bool operator==(const
Issue &other) const throw();
98 const
std::
string& operator[](const
std::
string &
key) const throw();
130 const
char*
what() const throw() ;
137std::ostream& operator<<(
std::ostream&, const
Issue&);
145#define N_ERS_STATIC_ASSERT
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
Source context for Issue.
static const char *const PROCESS_PWD_KEY
key for the process working directory
responsibility_t responsibility() const
get the responsability level of the issue
void set_values(const string_map_type &values)
sets the value table
static const char *const COMPILATION_TARGET_KEY
key for compilation target
int values_number() const
How many key / values.
static const char *const ERS_VERSION_KEY
key for ERS version
static const char *const HOST_TYPE_KEY
key for host type (architecture / os)
std::string m_class_name
class name
const std::string & get_value(const std::string &key, const std::string &def) const
Reads the property list.
std::string severity_message() const
message associated with the severity_t of the issue
long get_long_value(const std::string &key, long def=0) const
Get a value of the table as a long integer.
static const char *const SOURCE_PACKAGE_KEY
package name associated with source code
static const char *const COMPILER_KEY
key for compilator type
void set_value(const std::string &key, uint8_t value)
Sets a value 8 bit unsigned.
static const char *const QUALIFIER_LIST_KEY
key used to store the qualifier list
static const char *const CAUSE_PSEUDO_KEY
key used when serializing the cause issue, this key is not used in the value table
void insert_time()
Inserts current time.
std::string m_human_description
Human readable description (cache)
Issue * m_cause
Issue that caused the current issue.
static const char *const CAUSE_TEXT_KEY
key used to store the cause issue's message
severity_t severity() const
severity_t of the issue
static const char *const TIME_KEY
key for the time of the issue (text)
bool is_error()
is the issue an error (or fatal).
std::vector< std::string > qualifiers() const
return array of qualifiers
const std::string & message() const
Message.
int get_int_value(const std::string &key, int def=0) const
Get a value of the table as an integer.
static const char *const HOST_IP_ADDR_KEY
key for host ip address
static const char *const CPP_CLASS_KEY
key for c++ class (might be mangled)
void finish_setup(const std::string &message)
Finishes the setup of the Issue.
static const char *const USER_ID_KEY
key for the user-id of the owner of the process
static const char *const SEVERITY_KEY
key for the severity_t of the issue
const std::string & human_description() const
Human description message.
static const char *const PROGRAM_NAME_KEY
key for the name of the program
const Issue * cause() const
return the cause Issue of this Issue
static const char *const TRANSIENCE_KEY
key for the transience of the issue (text)
const char * what() const
Human description message.
static const char *const EXIT_VALUE_KEY
key used to store the exit value
const string_map_type * get_value_table() const
extract value table
static const char *const USER_NAME_KEY
key for the user-name of the owner of the process
static const char *const RESPONSIBILITY_KEY
key for the responsibility of the issue (text)
static const char *const HOST_NAME_KEY
key for hostname
void add_qualifier(const std::string &qualif)
adds a qualifier to the issue
static const char *const SOURCE_POSITION_KEY
key for position in the source code
static const char *const COMPILATION_DEBUG_LVL_KEY
static const char *const MESSAGE_KEY
key for human readable
static const char *const COMPILATION_TIME_KEY
key for compilation time
static const char *const CLASS_KEY
key for class information
int transience() const
is the issue transient
string_map_type m_value_table
Optional properties.
virtual const char * get_class_name() const
Get key for class (used for serialisation)
static const char *const ISSUE_CLASS_NAME
name of the class, used for serialisation
static const char *const PROCESS_ID_KEY
key for the process id (number)
void insert(const Context *context)
Inserts the context.
virtual int exit_value() const
value to pass to exit
double get_double_value(const std::string key, double def) const
Get a value of the table as double.
void setup_common(const Context *context)
Sets up the common fields.
enum ers::_responsibility_t responsibility_t
std::map< std::string, std::string > string_map_type
enum ers::_severity_t severity_t