Main Page | Class Hierarchy | Class List | File List | Class Members

XSoap12RPCFault.hpp

00001 #ifndef XSOAP12FAULT_EXCEPTION_H 00002 #define XSOAP12FAULT_EXCEPTION_H 00003 00004 00005 #include <string> 00006 00007 #include <proteus/QualifiedName.h> 00008 #include <wsit/Vobject.h> 00009 #include <wsit/Serializer.h> 00010 #include <wsit/Deserializer.h> 00011 00012 namespace xsoap { 00014 class XSoap12RPCFault : public wsit::Vobject 00015 { 00016 public: 00017 XSoap12RPCFault(std::string value, 00018 std::string subCode = "", 00019 std::string reason = "") 00020 : m_code(value,subCode), 00021 m_reason(reason){} 00022 00023 00024 XSoap12RPCFault(wsit::Deserializer *deser); 00025 00026 ~XSoap12RPCFault(void) {} 00027 00028 const proteus::QualifiedName& typeName() const { 00029 static proteus::QualifiedName qn(""); 00030 return qn; 00031 } 00032 00033 void serialize(const proteus::QualifiedName &n, 00034 wsit::Serializer *) const; 00035 00036 std::string value() const { 00037 return m_code.m_value; 00038 } 00039 00040 std::string what() const { 00041 return m_code.m_value + ":" + m_code.m_subcode + "=" + m_reason.m_reason; 00042 } 00043 private: 00044 00045 class Code : public wsit::Vobject { 00046 public: 00047 explicit Code(std::string value, 00048 std::string subCode) 00049 : m_value(value), m_subcode(subCode) {} 00050 explicit Code(wsit::Deserializer *deser); 00051 void serialize(const proteus::QualifiedName &n, 00052 wsit::Serializer *) const; 00053 00054 const proteus::QualifiedName& typeName() const { 00055 static proteus::QualifiedName qn(""); 00056 return qn; 00057 } 00058 00059 std::string m_value; 00060 std::string m_subcode; 00061 }; 00062 00063 class Reason : public wsit::Vobject { 00064 public: 00065 explicit Reason(std::string reason) 00066 : m_reason(reason) {} 00067 explicit Reason(wsit::Deserializer *deser); 00068 void serialize(const proteus::QualifiedName &n, 00069 wsit::Serializer *) const; 00070 00071 const proteus::QualifiedName& typeName() const { 00072 static proteus::QualifiedName qn(""); 00073 return qn; 00074 } 00075 00076 std::string m_reason; 00077 }; 00078 00079 Code m_code; 00080 Reason m_reason; 00081 }; 00082 00083 } 00084 #endif

Generated on Sat Jun 5 00:52:18 2004 for XSoap-C++ by doxygen 1.3.7