00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
#ifndef ___xmldomparseerror_h___
00049
#define ___xmldomparseerror_h___
00050
00051
#include <xercesc/util/XercesDefs.hpp>
00052 XERCES_CPP_NAMESPACE_USE
00053
00054 class ATL_NO_VTABLE CXMLDOMParseError :
00055
public CComObjectRootEx<CComSingleThreadModel>,
00056
public IDispatchImpl<IXMLDOMParseError, &IID_IXMLDOMParseError, &LIBID_Xerces, 2, 50>
00057 {
00058
public:
00059 CXMLDOMParseError()
00060 :m_Code (0)
00061 ,m_url (_T(
""))
00062 ,m_Reason (_T(
""))
00063 ,m_Source (_T(
""))
00064 ,m_LineNumber(0)
00065 ,m_LinePos (0)
00066 ,m_FilePos (0)
00067 {}
00068
00069 HRESULT FinalConstruct();
00070
void FinalRelease();
00071
00072 DECLARE_NOT_AGGREGATABLE(CXMLDOMParseError)
00073
00074 DECLARE_PROTECT_FINAL_CONSTRUCT()
00075
00076 BEGIN_COM_MAP(CXMLDOMParseError)
00077 COM_INTERFACE_ENTRY(IXMLDOMParseError)
00078 COM_INTERFACE_ENTRY(IDispatch)
00079 END_COM_MAP()
00080
00081
00082 STDMETHOD(get_errorCode)(
long *errorCode);
00083 STDMETHOD(get_url)( BSTR *urlString);
00084 STDMETHOD(get_reason)( BSTR *reasonString);
00085 STDMETHOD(get_srcText)( BSTR *sourceString);
00086 STDMETHOD(get_line)(
long *lineNumber);
00087 STDMETHOD(get_linepos)(
long *linePosition);
00088 STDMETHOD(get_filepos)(
long *filePosition);
00089
00090
void SetData(
long code,
00091 const _bstr_t &url,
00092 const _bstr_t &reason,
00093 const _bstr_t &source,
00094
long lineNumber,
00095
long linePos,
00096
long filePos);
00097
void Reset();
00098
00099 private:
00100
00101 long m_Code;
00102 _bstr_t m_url;
00103 _bstr_t m_Reason;
00104 _bstr_t m_Source;
00105 long m_LineNumber;
00106 long m_LinePos;
00107 long m_FilePos;
00108
00109 CComCriticalSection m_CS;
00110 };
00111
00112 typedef CComObject<CXMLDOMParseError>
CXMLDOMParseErrorObj;
00113
00114 #endif