libmoost
/home/mhx/git/github/libmoost/src/mq/error_category.cpp
Go to the documentation of this file.
00001 /* vim:set ts=3 sw=3 sts=3 et: */
00028 #include <boost/lexical_cast.hpp>
00029 
00030 #include "error_category.h"
00031 
00032 namespace moost { namespace mq {
00033 
00034 const stomp_client_error_category g_stomp_queue_error_category;
00035 
00036 // required default ctor, as we're declaring a const global object
00037 stomp_client_error_category::stomp_client_error_category()
00038 {
00039 }
00040 
00041 const char *stomp_client_error_category::name() const
00042 {
00043    return "moost.mq.error";
00044 }
00045 
00046 boost::system::error_condition stomp_client_error_category::default_error_condition(int ev) const
00047 {
00048    return boost::system::error_condition(ev, g_stomp_queue_error_category);
00049 }
00050 
00051 std::string stomp_client_error_category::message(int ev) const
00052 {
00053    switch (ev)
00054    {
00055       case error::success:
00056          return "success";
00057 
00058       case error::queue_error:
00059          return "queue error";
00060 
00061       case error::subscribe_failed:
00062          return "subscribe failed";
00063 
00064       case error::connect_cmd_failed:
00065          return "connect command failed";
00066 
00067       case error::connection_lost:
00068          return "connection lost";
00069 
00070       default:
00071          return "unknown error: " + boost::lexical_cast<std::string>(ev);
00072    }
00073 }
00074 
00075 const boost::system::error_category& mq_error_category()
00076 {
00077    return g_stomp_queue_error_category;
00078 }
00079 
00080 }}