X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Ffatal.hpp;h=6ac62b775f84b224ce0673cea507b2e8a3f43f3f;hb=00a8f6f7d315dc3fce0b0e5a1987c8663488ae1c;hp=f0ee08131614f3ee3dc8d8b1ff9bce0eeae1b024;hpb=5c09a7ed2edbb9876493f30d59433331b63f6bfc;p=awesomized%2Flibmemcached diff --git a/libtest/fatal.hpp b/libtest/fatal.hpp index f0ee0813..6ac62b77 100644 --- a/libtest/fatal.hpp +++ b/libtest/fatal.hpp @@ -42,59 +42,56 @@ #define __PRETTY_FUNCTION__ __func__ #endif +#define YATL_STRINGIFY(x) #x +#define YATL_TOSTRING(x) YATL_STRINGIFY(x) +#define YATL_AT __FILE__ ":" YATL_TOSTRING(__LINE__) +#define YATL_AT_PARAM __func__, AT +#define YATL_UNIQUE __FILE__ ":" YATL_TOSTRING(__LINE__) "_unique" +#define YATL_UNIQUE_FUNC_NAME __FILE__ ":" YATL_TOSTRING(__LINE__) "_unique_func" + #define LIBYATL_DEFAULT_PARAM __FILE__, __LINE__, __PRETTY_FUNCTION__ namespace libtest { -class fatal : std::runtime_error +class exception : public std::runtime_error { public: - fatal(const char *file, int line, const char *func, const char *format, ...); + exception(const char *, int, const char *); - const char* what() const throw() + int line() const { - return _error_message; + return _line; } - const char* mesg() const throw() + const char* file() const { - return _error_message; + return _file; } - // The following are just for unittesting the exception class - static bool is_disabled(); - static void disable(); - static void enable(); - static uint32_t disabled_counter(); - static void increment_disabled_counter(); - - int line() + const char* func() const { - return _line; + return _func; } - const char* file() + const char* mesg() const throw() { - return _file; + return _error_message; } - const char* func() - { - return _func; - } -private: +protected: char _error_message[BUFSIZ]; - char _mesg[BUFSIZ]; - int _line; + +private: const char* _file; + int _line; const char* _func; }; -class disconnected : std::runtime_error +class fatal : public exception { public: - disconnected(const char *file, int line, const char *func, const char *instance, const in_port_t port, const char *format, ...); + fatal(const char *file, int line, const char *func, const char *format, ...); const char* what() const throw() { @@ -108,28 +105,51 @@ public: static uint32_t disabled_counter(); static void increment_disabled_counter(); - int line() - { - return _line; - } +private: +}; - const char* file() +class disconnected : public exception +{ +public: + disconnected(const char *file, int line, const char *func, const std::string&, const in_port_t port, const char *format, ...); + + const char* what() const throw() { - return _file; + return _error_message; } - const char* func() + // The following are just for unittesting the exception class + static bool is_disabled(); + static void disable(); + static void enable(); + static uint32_t disabled_counter(); + static void increment_disabled_counter(); + +private: + in_port_t _port; + char _instance[1024]; +}; + +class start : public exception +{ +public: + start(const char *file, int line, const char *func, const std::string&, const in_port_t port, const char *format, ...); + + const char* what() const throw() { - return _func; + return _error_message; } + // The following are just for unittesting the exception class + static bool is_disabled(); + static void disable(); + static void enable(); + static uint32_t disabled_counter(); + static void increment_disabled_counter(); + private: - char _error_message[BUFSIZ]; in_port_t _port; char _instance[1024]; - int _line; - const char* _file; - const char* _func; };