00001 00010 // SOAPFault.h: interface for the SOAPFault class. 00011 // 00013 /* 00014 #if !defined(SOAPFAULT_H) 00015 #include "SOAPFault.h" 00016 #endif // !defined(SOAPFAULT_H) 00017 */ 00018 00019 #if !defined(SOAPFAULT_H) 00020 #define SOAPFAULT_H 00021 00022 #if _MSC_VER > 1000 00023 #pragma once 00024 #endif // _MSC_VER > 1000 00025 00026 #include "SOAPElement.h" 00027 00028 class SOAPFault : public SOAPElement 00029 { 00030 public: 00031 // Constructor/ Destructor 00032 SOAPFault(); 00033 virtual ~SOAPFault(); 00034 00035 00036 // getFaultCode 00037 // Description: 00038 // Gets the general reason why the call failed. 00039 // Arugments: 00040 // N/A 00041 // Return Value: 00042 // Returns a string combining the generic fault and 00043 // any more specific fault data. 00044 std::string getFaultCode(); 00045 enum FaultCode { Client, Server, MustUnderstand, VersionMismatch }; 00046 00047 // setFaultCode 00048 // Description: 00049 // Sets the generic fault code. 00050 // Arugments: 00051 // faultCode: One of the values found in the FaultCode enumeration. 00052 // Return Value: 00053 // N/A 00054 void setFaultCode( FaultCode faultCode ); 00055 00056 // setSpecificFault 00057 // Description: 00058 // Allows the caller to set the generic and specific 00059 // reasons for the failure of a call. 00060 // Arugments: 00061 // szSpecificFault: The more descriptive reason behind the 00062 // failure. 00063 // faultCode: One of the values found in the FaultCode enumeration. 00064 // Return Value: 00065 // N/A 00066 void setSpecificFault( const std::string& szSpecificFault, FaultCode faultCode = Client ); 00067 00068 // faultString 00069 // Description: 00070 // Allows the user to set/get the complete fault string. 00071 // Arugments: 00072 // N/A 00073 // Return Value: 00074 // See description. 00075 std::string& faultString(); 00076 00077 // faultActor 00078 // Description: 00079 // Allows the user to set/get the fault actor. 00080 // Arugments: 00081 // N/A 00082 // Return Value: 00083 // See description. 00084 std::string& faultActor(); 00085 00086 // detail 00087 // Description: 00088 // Allows the user to set/get the fault detail. 00089 // Arugments: 00090 // N/A 00091 // Return Value: 00092 // See description. 00093 std::string& detail(); 00094 00095 private: 00096 00097 // m_faultCode 00098 // Description: Generic reason the call failed. 00099 FaultCode m_faultCode; 00100 00101 // m_szSpecificFault 00102 // Description: Specific reason the call failed. 00103 std::string m_szSpecificFault; 00104 00105 // m_szFaultString 00106 // Description: Description of the fault. 00107 std::string m_szFaultString; 00108 00109 // m_szFaultActor 00110 // Description: Intermediary that caught the fault. 00111 std::string m_szFaultActor; 00112 00113 // m_szDetail 00114 // Description: Details behind why the fault occurred. 00115 std::string m_szDetail; 00116 }; 00117 00118 #endif // !defined(SOAPFAULT_H)