summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Common/Exception.cpp45
-rw-r--r--src/Common/Exception.h2
-rw-r--r--src/Common/Makefile.am2
-rw-r--r--src/Common/Makefile.in7
4 files changed, 52 insertions, 4 deletions
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 <matthias@gamezock.de>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#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@