00001 00015 #ifndef INC_SOA_OWSEXCEPTION_H 00016 #define INC_SOA_OWSEXCEPTION_H 00017 00018 #ifndef INC_MI32_MISTRING_H 00019 #include <mi32/mistring.h> 00020 #endif 00021 00022 #ifndef INC_MI32_STRUTF8_H 00023 #include <mi32/strutf8.h> 00024 #endif 00025 00026 #ifndef INC_MI32_MILIST_H 00027 #include <mi32/milist.h> 00028 #endif 00029 00030 class HTTPMESSAGE; 00031 class XMLNODE; 00032 00033 namespace SOA { 00034 namespace OWS { 00035 00036 //===================================================================================================================== 00037 00040 class EXCEPTIONREPORT { 00041 public: 00042 00044 class EXCEPTION { 00045 public: 00046 00047 EXCEPTION (); 00048 00049 ~EXCEPTION (); 00050 00052 MISTRING FormatMessage ( 00053 ) const; 00054 00056 const MISTRING& GetCode ( 00057 ) const { return (m_Code); } 00058 00060 const MISTRING& GetLocator ( 00061 ) const { return (m_Locator); } 00062 00064 const MISTRING& GetMessage ( 00065 ) const { return (m_Message); } 00066 00068 ERRVALUE ParseXML ( 00069 const XMLNODE *xmlnode 00070 ); 00071 00072 private: 00073 #ifndef GENERATING_DOXYGEN_OUTPUT 00074 MISTRING m_Code; 00075 MISTRING m_Locator; 00076 MISTRING m_Message; 00077 #endif 00078 }; 00079 00080 typedef MILIST<EXCEPTION> EXCEPTIONLIST; 00081 00083 EXCEPTIONREPORT (); 00084 00086 ~EXCEPTIONREPORT (); 00087 00089 MISTRING FormatMessages ( 00090 ) const; 00091 00093 const EXCEPTIONLIST& GetExceptionList ( 00094 ) const { return (m_ExceptionList); } 00095 00097 const STRUTF8& GetOriginal ( 00098 ) const { return (m_OriginalMsg); } 00099 00101 const MISTRING& GetVersion ( 00102 ) const { return (m_Version); } 00103 00107 ERRVALUE ParseMessage ( 00108 const HTTPMESSAGE& message 00109 ); 00110 00111 private: 00112 #ifndef GENERATING_DOXYGEN_OUTPUT 00113 MISTRING m_Version; 00114 EXCEPTIONLIST m_ExceptionList; 00115 STRUTF8 m_OriginalMsg; 00116 // Unimplemented 00117 EXCEPTIONREPORT (const EXCEPTIONREPORT& rhs); 00118 EXCEPTIONREPORT& operator= (const EXCEPTIONREPORT& rhs); 00119 #endif 00120 }; 00121 00122 //===================================================================================================================== 00123 00124 } // End namespace OWS 00125 } // End namespace SOA 00126 00127 #endif // INC_SOA_OWSEXCEPTION_H
1.6.1