00001
00002
00003
00004
00005
00006
00007
00008
00009
00015 #ifndef __ERS_UTIL__
00016 #define __ERS_UTIL__ "0.3"
00017
00018 #include <string>
00019 #include <map>
00020 #include <vector>
00021
00022 namespace ers {
00023
00024 typedef enum _severity_t { severity_none, debug_0, debug_1, debug_2, debug_3, information, notification, warning, error, fatal, severity_max } severity_t ;
00025 typedef enum _responsibility_t { resp_client, resp_server, resp_dependency , resp_unknown, resp_max } responsibility_t ;
00026 typedef std::map<std::string, std::string> string_map_type ;
00027 typedef std::vector<std::string> string_vector ;
00028
00032 class Core {
00033 static const char* const SEVERITY_NAMES[] ;
00034 static const char* const BOOLEAN_NAMES[] ;
00035 static const char* const RESPONSIBILITY_NAMES[] ;
00036 protected:
00037 public:
00038 static const std::string empty_string ;
00039 static severity_t parse_severity(const char *s) throw() ;
00040 static severity_t parse_severity(const std::string &s) throw() ;
00041 static const char* to_string(severity_t s) throw() ;
00042 static responsibility_t parse_responsibility(const char *s) throw() ;
00043 static responsibility_t parse_responsibility(const std::string &s) throw() ;
00044 static const char* to_string(responsibility_t s) throw() ;
00045 static int parse_boolean(const char* s) throw() ;
00046 static const char* to_string(bool b) throw ();
00047 static std::string parse_prefix_string(const char **ptr) throw() ;
00048 static std::string umangle_gcc_class_name(const char* name) throw() ;
00049 static std::vector<std::string> tokenize(const std::string &text, const std::string &separators) ;
00050 } ;
00051 }
00052
00053 #endif