ReactOS 0.4.16-dev-2208-g6350669
parseerror.c File Reference
#include <stdarg.h>
#include "ole2.h"
#include "msxml6.h"
#include "msxml_dispex.h"
#include "wine/debug.h"
Include dependency graph for parseerror.c:

Go to the source code of this file.

Classes

struct  parse_error_t
 

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (msxml)
 
static parse_error_timpl_from_IXMLDOMParseError2 (IXMLDOMParseError2 *iface)
 
static HRESULT WINAPI parseError_QueryInterface (IXMLDOMParseError2 *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI parseError_AddRef (IXMLDOMParseError2 *iface)
 
static ULONG WINAPI parseError_Release (IXMLDOMParseError2 *iface)
 
static HRESULT WINAPI parseError_GetTypeInfoCount (IXMLDOMParseError2 *iface, UINT *pctinfo)
 
static HRESULT WINAPI parseError_GetTypeInfo (IXMLDOMParseError2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI parseError_GetIDsOfNames (IXMLDOMParseError2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI parseError_Invoke (IXMLDOMParseError2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI parseError_get_errorCode (IXMLDOMParseError2 *iface, LONG *code)
 
static HRESULT WINAPI parseError_get_url (IXMLDOMParseError2 *iface, BSTR *url)
 
static HRESULT WINAPI parseError_get_reason (IXMLDOMParseError2 *iface, BSTR *reason)
 
static HRESULT WINAPI parseError_get_srcText (IXMLDOMParseError2 *iface, BSTR *srcText)
 
static HRESULT WINAPI parseError_get_line (IXMLDOMParseError2 *iface, LONG *line)
 
static HRESULT WINAPI parseError_get_linepos (IXMLDOMParseError2 *iface, LONG *linepos)
 
static HRESULT WINAPI parseError_get_filepos (IXMLDOMParseError2 *iface, LONG *filepos)
 
static HRESULT WINAPI parseError_get_errorXPath (IXMLDOMParseError2 *iface, BSTR *xpathexpr)
 
static HRESULT WINAPI parseError_get_AllErrors (IXMLDOMParseError2 *iface, IXMLDOMParseErrorCollection **allErrors)
 
static HRESULT WINAPI parseError_errorParameters (IXMLDOMParseError2 *iface, LONG index, BSTR *param)
 
static HRESULT WINAPI parseError_get_errorParametersCount (IXMLDOMParseError2 *iface, LONG *count)
 
IXMLDOMParseErrorcreate_parseError (LONG code, BSTR url, BSTR reason, BSTR srcText, LONG line, LONG linepos, LONG filepos)
 

Variables

static const struct IXMLDOMParseError2Vtbl XMLDOMParseError2Vtbl
 
static const tid_t parseError_iface_tids []
 
static dispex_static_data_t parseError_dispex
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 22 of file parseerror.c.

Function Documentation

◆ create_parseError()

IXMLDOMParseError * create_parseError ( LONG  code,
BSTR  url,
BSTR  reason,
BSTR  srcText,
LONG  line,
LONG  linepos,
LONG  filepos 
)

Definition at line 320 of file parseerror.c.

322{
324
325 This = malloc(sizeof(*This));
326 if ( !This )
327 return NULL;
328
329 This->IXMLDOMParseError2_iface.lpVtbl = &XMLDOMParseError2Vtbl;
330 This->ref = 1;
331
332 This->code = code;
333 This->url = url;
334 This->reason = reason;
335 This->srcText = srcText;
336 This->line = line;
337 This->linepos = linepos;
338 This->filepos = filepos;
339
340 init_dispex(&This->dispex, (IUnknown*)&This->IXMLDOMParseError2_iface, &parseError_dispex);
341
342 return (IXMLDOMParseError*)&This->IXMLDOMParseError2_iface;
343}
#define malloc
Definition: debug_ros.c:4
#define NULL
Definition: types.h:112
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1904
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
Definition: dispex.c:919
static const WCHAR url[]
Definition: encode.c:1384
static dispex_static_data_t parseError_dispex
Definition: parseerror.c:313
static const struct IXMLDOMParseError2Vtbl XMLDOMParseError2Vtbl
Definition: parseerror.c:286
Definition: inflate.c:139
Definition: parser.c:49

Referenced by domdoc_get_parseError(), and domdoc_validateNode().

◆ impl_from_IXMLDOMParseError2()

◆ parseError_AddRef()

static ULONG WINAPI parseError_AddRef ( IXMLDOMParseError2 iface)
static

Definition at line 81 of file parseerror.c.

83{
86 TRACE("%p, refcount %lu.\n", iface, ref);
87 return ref;
88}
#define InterlockedIncrement
Definition: armddk.h:53
static parse_error_t * impl_from_IXMLDOMParseError2(IXMLDOMParseError2 *iface)
Definition: parseerror.c:44
#define TRACE(s)
Definition: solgame.cpp:4
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ parseError_errorParameters()

static HRESULT WINAPI parseError_errorParameters ( IXMLDOMParseError2 iface,
LONG  index,
BSTR param 
)
static

Definition at line 267 of file parseerror.c.

271{
273 FIXME("(%p)->(%p)\n", This, param);
274 return E_NOTIMPL;
275}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99
GLfloat param
Definition: glext.h:5796

◆ parseError_get_AllErrors()

static HRESULT WINAPI parseError_get_AllErrors ( IXMLDOMParseError2 iface,
IXMLDOMParseErrorCollection **  allErrors 
)
static

Definition at line 258 of file parseerror.c.

261{
263 FIXME("(%p)->(%p)\n", This, allErrors);
264 return E_NOTIMPL;
265}

◆ parseError_get_errorCode()

static HRESULT WINAPI parseError_get_errorCode ( IXMLDOMParseError2 iface,
LONG code 
)
static

Definition at line 157 of file parseerror.c.

160{
162 TRACE("(%p)->(%p)\n", This, code);
163
164 *code = This->code;
165
166 if(This->code == 0)
167 return S_FALSE;
168
169 return S_OK;
170}
#define S_OK
Definition: intsafe.h:52
#define S_FALSE
Definition: winerror.h:3451

◆ parseError_get_errorParametersCount()

static HRESULT WINAPI parseError_get_errorParametersCount ( IXMLDOMParseError2 iface,
LONG count 
)
static

Definition at line 277 of file parseerror.c.

280{
282 FIXME("(%p)->(%p)\n", This, count);
283 return E_NOTIMPL;
284}
GLuint GLuint GLsizei count
Definition: gl.h:1545

◆ parseError_get_errorXPath()

static HRESULT WINAPI parseError_get_errorXPath ( IXMLDOMParseError2 iface,
BSTR xpathexpr 
)
static

Definition at line 249 of file parseerror.c.

252{
254 FIXME("(%p)->(%p)\n", This, xpathexpr);
255 return E_NOTIMPL;
256}

◆ parseError_get_filepos()

static HRESULT WINAPI parseError_get_filepos ( IXMLDOMParseError2 iface,
LONG filepos 
)
static

Definition at line 240 of file parseerror.c.

243{
245 FIXME("(%p)->(%p)\n", This, filepos);
246 return E_NOTIMPL;
247}

◆ parseError_get_line()

static HRESULT WINAPI parseError_get_line ( IXMLDOMParseError2 iface,
LONG line 
)
static

Definition at line 212 of file parseerror.c.

215{
217
218 TRACE("%p, %p.\n", This, line);
219
220 if (!line) return E_INVALIDARG;
221
222 *line = This->line;
223 return S_OK;
224}
#define E_INVALIDARG
Definition: ddrawi.h:101

◆ parseError_get_linepos()

static HRESULT WINAPI parseError_get_linepos ( IXMLDOMParseError2 iface,
LONG linepos 
)
static

Definition at line 226 of file parseerror.c.

229{
231
232 TRACE("(%p)->(%p)\n", This, linepos);
233
234 if (!linepos) return E_INVALIDARG;
235
236 *linepos = This->linepos;
237 return S_OK;
238}

◆ parseError_get_reason()

static HRESULT WINAPI parseError_get_reason ( IXMLDOMParseError2 iface,
BSTR reason 
)
static

Definition at line 181 of file parseerror.c.

184{
186 TRACE("(%p)->(%p)\n", This, reason);
187
188 if(!This->reason)
189 {
190 *reason = NULL;
191 return S_FALSE;
192 }
193 *reason = SysAllocString(This->reason);
194 return S_OK;
195}
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238

◆ parseError_get_srcText()

static HRESULT WINAPI parseError_get_srcText ( IXMLDOMParseError2 iface,
BSTR srcText 
)
static

Definition at line 197 of file parseerror.c.

200{
202
203 TRACE("(%p)->(%p)\n", This, srcText);
204
205 if (!srcText) return E_INVALIDARG;
206
207 *srcText = SysAllocString(This->srcText);
208
209 return S_OK;
210}

◆ parseError_get_url()

static HRESULT WINAPI parseError_get_url ( IXMLDOMParseError2 iface,
BSTR url 
)
static

Definition at line 172 of file parseerror.c.

175{
177 FIXME("(%p)->(%p)\n", This, url);
178 return E_NOTIMPL;
179}

◆ parseError_GetIDsOfNames()

static HRESULT WINAPI parseError_GetIDsOfNames ( IXMLDOMParseError2 iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 128 of file parseerror.c.

135{
137 return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface,
138 riid, rgszNames, cNames, lcid, rgDispId);
139}
LCID lcid
Definition: locale.c:5656
REFIID riid
Definition: atlbase.h:39

◆ parseError_GetTypeInfo()

static HRESULT WINAPI parseError_GetTypeInfo ( IXMLDOMParseError2 iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 117 of file parseerror.c.

122{
124 return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface,
125 iTInfo, lcid, ppTInfo);
126}

◆ parseError_GetTypeInfoCount()

static HRESULT WINAPI parseError_GetTypeInfoCount ( IXMLDOMParseError2 iface,
UINT pctinfo 
)
static

Definition at line 109 of file parseerror.c.

112{
114 return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
115}

◆ parseError_Invoke()

static HRESULT WINAPI parseError_Invoke ( IXMLDOMParseError2 iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 141 of file parseerror.c.

151{
153 return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface,
154 dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
155}
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ parseError_QueryInterface()

static HRESULT WINAPI parseError_QueryInterface ( IXMLDOMParseError2 iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 49 of file parseerror.c.

53{
55
56 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
57
58 if ( IsEqualGUID( riid, &IID_IUnknown ) ||
60 IsEqualGUID( riid, &IID_IXMLDOMParseError ) ||
61 IsEqualGUID( riid, &IID_IXMLDOMParseError2 ) )
62 {
63 *ppvObject = iface;
64 }
65 else if (dispex_query_interface(&This->dispex, riid, ppvObject))
66 {
67 return *ppvObject ? S_OK : E_NOINTERFACE;
68 }
69 else
70 {
71 FIXME("interface %s not implemented\n", debugstr_guid(riid));
72 *ppvObject = NULL;
73 return E_NOINTERFACE;
74 }
75
76 IXMLDOMParseError2_AddRef( iface );
77
78 return S_OK;
79}
const GUID IID_IUnknown
#define debugstr_guid
Definition: kernel32.h:35
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
Definition: dispex.c:1656
const GUID IID_IDispatch
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ parseError_Release()

static ULONG WINAPI parseError_Release ( IXMLDOMParseError2 iface)
static

Definition at line 90 of file parseerror.c.

92{
95
96 TRACE("%p, refcount %lu.\n", iface, ref);
97
98 if (!ref)
99 {
100 SysFreeString(This->url);
101 SysFreeString(This->reason);
102 SysFreeString(This->srcText);
103 free(This);
104 }
105
106 return ref;
107}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( msxml  )

Variable Documentation

◆ parseError_dispex

dispex_static_data_t parseError_dispex
static
Initial value:
= {
}
@ IXMLDOMParseError2_tid
Definition: msxml_dispex.h:53
static const tid_t parseError_iface_tids[]
Definition: parseerror.c:308

Definition at line 313 of file parseerror.c.

Referenced by create_parseError().

◆ parseError_iface_tids

const tid_t parseError_iface_tids[]
static
Initial value:

Definition at line 308 of file parseerror.c.

◆ XMLDOMParseError2Vtbl

const struct IXMLDOMParseError2Vtbl XMLDOMParseError2Vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI parseError_errorParameters(IXMLDOMParseError2 *iface, LONG index, BSTR *param)
Definition: parseerror.c:267
static HRESULT WINAPI parseError_get_errorCode(IXMLDOMParseError2 *iface, LONG *code)
Definition: parseerror.c:157
static HRESULT WINAPI parseError_get_errorXPath(IXMLDOMParseError2 *iface, BSTR *xpathexpr)
Definition: parseerror.c:249
static HRESULT WINAPI parseError_get_linepos(IXMLDOMParseError2 *iface, LONG *linepos)
Definition: parseerror.c:226
static HRESULT WINAPI parseError_get_reason(IXMLDOMParseError2 *iface, BSTR *reason)
Definition: parseerror.c:181
static HRESULT WINAPI parseError_get_errorParametersCount(IXMLDOMParseError2 *iface, LONG *count)
Definition: parseerror.c:277
static ULONG WINAPI parseError_Release(IXMLDOMParseError2 *iface)
Definition: parseerror.c:90
static HRESULT WINAPI parseError_GetIDsOfNames(IXMLDOMParseError2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: parseerror.c:128
static HRESULT WINAPI parseError_Invoke(IXMLDOMParseError2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: parseerror.c:141
static HRESULT WINAPI parseError_GetTypeInfoCount(IXMLDOMParseError2 *iface, UINT *pctinfo)
Definition: parseerror.c:109
static HRESULT WINAPI parseError_get_filepos(IXMLDOMParseError2 *iface, LONG *filepos)
Definition: parseerror.c:240
static HRESULT WINAPI parseError_get_srcText(IXMLDOMParseError2 *iface, BSTR *srcText)
Definition: parseerror.c:197
static HRESULT WINAPI parseError_GetTypeInfo(IXMLDOMParseError2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: parseerror.c:117
static HRESULT WINAPI parseError_get_url(IXMLDOMParseError2 *iface, BSTR *url)
Definition: parseerror.c:172
static HRESULT WINAPI parseError_QueryInterface(IXMLDOMParseError2 *iface, REFIID riid, void **ppvObject)
Definition: parseerror.c:49
static ULONG WINAPI parseError_AddRef(IXMLDOMParseError2 *iface)
Definition: parseerror.c:81
static HRESULT WINAPI parseError_get_AllErrors(IXMLDOMParseError2 *iface, IXMLDOMParseErrorCollection **allErrors)
Definition: parseerror.c:258
static HRESULT WINAPI parseError_get_line(IXMLDOMParseError2 *iface, LONG *line)
Definition: parseerror.c:212

Definition at line 286 of file parseerror.c.

Referenced by create_parseError().