initial load of upstream version 1.06.32
[xmlrpc-c] / src / cpp / fault.cpp
diff --git a/src/cpp/fault.cpp b/src/cpp/fault.cpp
new file mode 100644 (file)
index 0000000..4db6bc8
--- /dev/null
@@ -0,0 +1,35 @@
+#include <string>
+
+#include "xmlrpc-c/girerr.hpp"
+using girerr::error;
+#include "xmlrpc-c/base.hpp"
+
+using namespace std;
+
+namespace xmlrpc_c {
+
+fault::fault() : valid(false) {};
+    
+fault::fault(string                  const _description,
+             xmlrpc_c::fault::code_t const _code
+             ) :
+    valid(true),
+    code(_code),
+    description(_description)
+    {}
+
+xmlrpc_c::fault::code_t
+fault::getCode() const {
+    if (!valid)
+        throw(error("Attempt to access placeholder xmlrpc_c::fault object"));
+    return this->code;
+}
+
+string
+fault::getDescription() const {
+    if (!valid)
+        throw(error("Attempt to access placeholder xmlrpc_c::fault object"));
+    return this->description;
+}
+
+} // namespace