From b021e0e33105535b85824aa0d70ecf72cc2fb251 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 16 Sep 2008 05:20:25 +0200 Subject: Added strerror method --- src/Common/Exception.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/Common/Exception.h | 2 ++ src/Common/Makefile.am | 2 +- src/Common/Makefile.in | 7 ++++--- 4 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 src/Common/Exception.cpp diff --git a/src/Common/Exception.cpp b/src/Common/Exception.cpp new file mode 100644 index 0000000..002ba82 --- /dev/null +++ b/src/Common/Exception.cpp @@ -0,0 +1,45 @@ +/* + * Exception.cpp + * + * Copyright (C) 2008 Matthias Schiffer + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "Exception.h" + +namespace Mad { +namespace Common { + +const char* Exception::strerror() const { + switch(errorCode) { + case SUCCESS: + return "Success"; + case UNEXPECTED_PACKET: + return "An unexpected packet was received"; + case INVALID_ACTION: + return "The action is invalid"; + case ALREADY_IDENTIFIED: + return "The host is already identified"; + case UNKNOWN_DAEMON: + return "The daemon is unknown"; + case DAEMON_INACTIVE: + return "The daemon is inactive"; + default: + return "Unknown error"; + } +} + +} +} diff --git a/src/Common/Exception.h b/src/Common/Exception.h index 6b4cf9f..d072db2 100644 --- a/src/Common/Exception.h +++ b/src/Common/Exception.h @@ -42,6 +42,8 @@ class Exception { ErrorCode getErrorCode() const {return errorCode;} unsigned long getSubCode() const {return subCode;} unsigned long getSubSubCode() const {return subSubCode;} + + const char* strerror() const; }; } diff --git a/src/Common/Makefile.am b/src/Common/Makefile.am index f422b46..d0c246c 100644 --- a/src/Common/Makefile.am +++ b/src/Common/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = Backends Requests RequestHandlers noinst_LTLIBRARIES = libcommon.la -libcommon_la_SOURCES = ConfigManager.cpp RequestManager.cpp SystemBackend.cpp Util.cpp +libcommon_la_SOURCES = ConfigManager.cpp Exception.cpp RequestManager.cpp SystemBackend.cpp Util.cpp libcommon_la_LIBADD = Backends/libbackends.la Requests/librequests.la RequestHandlers/librequesthandlers.la noinst_HEADERS = ConfigManager.h Exception.h Request.h RequestHandler.h RequestManager.h SystemBackend.h Util.h diff --git a/src/Common/Makefile.in b/src/Common/Makefile.in index 9361d39..620bbd3 100644 --- a/src/Common/Makefile.in +++ b/src/Common/Makefile.in @@ -46,8 +46,8 @@ CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libcommon_la_DEPENDENCIES = Backends/libbackends.la \ Requests/librequests.la RequestHandlers/librequesthandlers.la -am_libcommon_la_OBJECTS = ConfigManager.lo RequestManager.lo \ - SystemBackend.lo Util.lo +am_libcommon_la_OBJECTS = ConfigManager.lo Exception.lo \ + RequestManager.lo SystemBackend.lo Util.lo libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -197,7 +197,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = Backends Requests RequestHandlers noinst_LTLIBRARIES = libcommon.la -libcommon_la_SOURCES = ConfigManager.cpp RequestManager.cpp SystemBackend.cpp Util.cpp +libcommon_la_SOURCES = ConfigManager.cpp Exception.cpp RequestManager.cpp SystemBackend.cpp Util.cpp libcommon_la_LIBADD = Backends/libbackends.la Requests/librequests.la RequestHandlers/librequesthandlers.la noinst_HEADERS = ConfigManager.h Exception.h Request.h RequestHandler.h RequestManager.h SystemBackend.h Util.h all: all-recursive @@ -252,6 +252,7 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigManager.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestManager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SystemBackend.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Util.Plo@am__quote@ -- cgit v1.2.3