VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/activdbg.idl@ 33876

Last change on this file since 33876 was 33656, checked in by vboxsync, 14 years ago

*: rebrand Sun (L)GPL disclaimers

  • Property svn:eol-style set to native
File size: 13.4 KB
Line 
1/*
2 * Copyright 2008 Jacek Caban for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "ocidl.idl";
29import "activscp.idl";
30/* import "dbgprop.idl"; */
31
32interface IDebugDocumentContext;
33interface IRemoteDebugApplication;
34
35/* FIXME: */
36interface IEnumDebugStackFrames;
37interface IDebugStackFrame;
38interface IApplicationDebugger;
39interface IEnumRemoteDebugApplicationThreads;
40interface IDebugApplicationNode;
41interface IEnumDebugExpressionContexts;
42interface IDebugApplicationThread;
43interface IDebugSyncOperation;
44interface IDebugAsyncOperation;
45interface IDebugStackFrameSniffer;
46interface IDebugThreadCall32;
47interface IActiveScriptErrorDebug;
48interface IProvideExpressionContexts;
49
50typedef enum tagBREAKPOINT_STATE {
51 BREAKPOINT_DELETED,
52 BREAKPOINT_DISABLED,
53 BREAKPOINT_ENABLED
54} BREAKPOINT_STATE;
55
56typedef DWORD APPBREAKFLAGS;
57
58typedef enum tagBREAKREASON {
59 BREAKREASON_STEP,
60 BREAKREASON_BREAKPOINT,
61 BREAKREASON_DEBUGGER_BLOCK,
62 BREAKREASON_HOST_INITIATED,
63 BREAKREASON_LANGUAGE_INITIATED,
64 BREAKREASON_DEBUGGER_HALT,
65 BREAKREASON_ERROR,
66 BREAKREASON_JIT
67} BREAKREASON;
68
69typedef enum tagBREAKRESUME_ACTION {
70 BREAKRESUMEACTION_ABORT,
71 BREAKRESUMEACTION_CONTINUE,
72 BREAKRESUMEACTION_STEP_INTO,
73 BREAKRESUMEACTION_STEP_OVER,
74 BREAKRESUMEACTION_STEP_OUT,
75 BREAKRESUMEACTION_IGNORE
76} BREAKRESUMEACTION;
77
78typedef enum tagDOCUMENTNAMETYPE {
79 DOCUMENTNAMETYPE_APPNODE,
80 DOCUMENTNAMETYPE_TITLE,
81 DOCUMENTNAMETYPE_FILE_TAIL,
82 DOCUMENTNAMETYPE_URL
83} DOCUMENTNAMETYPE;
84
85typedef enum tagERRORRESUMEACTION {
86 ERRORRESUMEACTION_ReexecuteErrorStatement,
87 ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller,
88 ERRORRESUMEACTION_SkipErrorStatement,
89} ERRORRESUMEACTION;
90
91/************************************************************
92 * interface IDebugDocumentInfo
93 */
94[
95 object,
96 uuid(51973c1f-cb0c-11d0-b5c9-00a0244a0e7a),
97 pointer_default(unique)
98]
99interface IDebugDocumentInfo : IUnknown
100{
101 HRESULT GetName(
102 [in] DOCUMENTNAMETYPE dnt,
103 [out] BSTR *pbstrName);
104
105 HRESULT GetDocumentClassId(
106 [out] CLSID *pclsidDocument);
107}
108
109/************************************************************
110 * interface IDebugDocument
111 */
112[
113 object,
114 uuid(51973c21-cb0c-11d0-b5c9-00a0244a0e7a),
115 pointer_default(unique)
116]
117interface IDebugDocument : IDebugDocumentInfo
118{
119}
120
121/************************************************************
122 * interface IDebugCodeContext
123 */
124[
125 object,
126 uuid(51973c13-cb0c-11d0-b5c9-00a0244a0e7a),
127 pointer_default(unique)
128]
129interface IDebugCodeContext : IUnknown
130{
131 HRESULT GetDocumentContext(
132 [out] IDebugDocumentContext **ppsc);
133
134 HRESULT SetBreakPoint(
135 [in] BREAKPOINT_STATE bps);
136}
137
138/************************************************************
139 * interface IEnumDebugCodeContexts
140 */
141[
142 object,
143 uuid(51973c1d-cb0c-11d0-b5c9-00a0244a0e7a),
144 pointer_default(unique)
145]
146interface IEnumDebugCodeContexts : IUnknown
147{
148 HRESULT Next(
149 [in] ULONG celt,
150 [out] IDebugCodeContext **pscc,
151 [out] ULONG *pceltFetched);
152
153 HRESULT Skip(
154 [in] ULONG celt);
155
156 HRESULT Reset();
157
158 HRESULT Clone(
159 [out] IEnumDebugCodeContexts **ppescc);
160}
161
162/************************************************************
163 * interface IDebugDocumentContext
164 */
165[
166 object,
167 uuid(51973c28-cb0c-11d0-b5c9-00a0244a0e7a),
168 pointer_default(unique)
169]
170interface IDebugDocumentContext : IUnknown
171{
172 HRESULT GetDocument(
173 [out] IDebugDocument **ppsd);
174
175 HRESULT EnumCodeContexts(
176 [out] IEnumDebugCodeContexts **ppescc);
177}
178
179/************************************************************
180 * interface IRemoteDebugApplicationThread
181 */
182[
183 object,
184 uuid(51973c37-cb0c-11d0-b5c9-00a0244a0e7a),
185 pointer_default(unique)
186]
187interface IRemoteDebugApplicationThread : IUnknown
188{
189 HRESULT GetSystemThreadId(
190 [out] DWORD *dwThreadId);
191
192 HRESULT GetApplication(
193 [out] IRemoteDebugApplication **pprda);
194
195 HRESULT EnumStackFrames(
196 [out] IEnumDebugStackFrames **ppedsf);
197
198 HRESULT GetDescription(
199 [out] BSTR *pbstrDescription,
200 [out] BSTR *pbstrState);
201
202 HRESULT SetNextStatement(
203 [in] IDebugStackFrame *pStackFrame,
204 [in] IDebugCodeContext *pCodeContext);
205
206 HRESULT GetState(
207 [out] DWORD *pState);
208
209 HRESULT Suspend(
210 [out] DWORD *pdwCount);
211
212 HRESULT Resume(
213 [out] DWORD *pdwCount);
214
215 HRESULT GetSuspendCount(
216 [out] DWORD *pdwCount);
217}
218
219/************************************************************
220 * interface IRemoteDebugApplication
221 */
222[
223 object,
224 uuid(51973c30-cb0c-11d0-b5c9-00a0244Aae7a),
225 pointer_default(unique)
226]
227interface IRemoteDebugApplication : IUnknown
228{
229 HRESULT ResumeFromBreakPoint(
230 [in] IRemoteDebugApplicationThread *prptFocus,
231 [in] BREAKRESUMEACTION bra,
232 [in] ERRORRESUMEACTION era);
233
234 HRESULT CauseBreak();
235
236 HRESULT ConnectDebugger(
237 [in] IApplicationDebugger *pad);
238
239 HRESULT DisconnectDebugger();
240
241 HRESULT GetDebugger(
242 [out] IApplicationDebugger **pad);
243
244 HRESULT CreateInstanceAtApplication(
245 [in] REFCLSID rclsid,
246 [in] IUnknown *pUnkOuter,
247 [in] DWORD dwClsContext,
248 [in] REFIID riid,
249 [out, iid_is(riid)] IUnknown **ppvObject);
250
251 HRESULT QueryAlive();
252
253 HRESULT EnumThreads(
254 [out] IEnumRemoteDebugApplicationThreads **pperdat);
255
256 HRESULT GetName(
257 [out] BSTR *pbstrName);
258
259 HRESULT GetRootNode(
260 [out] IDebugApplicationNode **ppdanRoot);
261
262 HRESULT EnumGlobalExpressionContexts(
263 [out] IEnumDebugExpressionContexts **ppedec);
264}
265
266/************************************************************
267 * interface IDebugApplication32
268 */
269[
270 object,
271 uuid(51973c32-cb0c-11d0-b5c9-00a0244a0e7a),
272 pointer_default(unique),
273 local
274]
275interface IDebugApplication32 : IRemoteDebugApplication
276{
277 HRESULT SetName(
278 [in] LPCOLESTR pstrName);
279
280 HRESULT StepOutComplete();
281
282 HRESULT DebugOutput(
283 [in] LPCOLESTR pstr);
284
285 HRESULT StartDebugSession();
286
287 HRESULT HandleBreakPoint(
288 [in] BREAKREASON br,
289 [out] BREAKRESUMEACTION *pbra);
290
291 HRESULT Close();
292
293 HRESULT GetBreakFlags(
294 [out] APPBREAKFLAGS *pabf,
295 [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
296
297 HRESULT GetCurrentThread(
298 [out] IDebugApplicationThread **pat);
299
300 HRESULT CreateAsyncDebugOperation(
301 [in] IDebugSyncOperation *psdo,
302 [out] IDebugAsyncOperation **ppado);
303
304 HRESULT AddStackFrameSniffer(
305 [in] IDebugStackFrameSniffer *pdsfs,
306 [out] DWORD *pdwCookie);
307
308 HRESULT RemoveStackFrameSniffer(
309 [in] DWORD dwCookie);
310
311 HRESULT QueryCurrentThreadIsDebuggerThread();
312
313 HRESULT SynchronousCallInDebuggerThread(
314 [in] IDebugThreadCall32 *pptc,
315 [in] DWORD dwParam1,
316 [in] DWORD dwParam2,
317 [in] DWORD dwParam3);
318
319 HRESULT CreateApplicationNode(
320 [out] IDebugApplicationNode **ppdanNew);
321
322 HRESULT FireDebuggerEvent(
323 [in] REFGUID riid,
324 [in] IUnknown *punk);
325
326 HRESULT HandleRuntimeError(
327 [in] IActiveScriptErrorDebug *pErrorDebug,
328 [in] IActiveScriptSite *pScriptSite,
329 [out] BREAKRESUMEACTION *pbra,
330 [out] ERRORRESUMEACTION *perra,
331 [out] BOOL *pfCallOnScriptError);
332
333 BOOL FCanJitDebug();
334
335 BOOL FIsAutoJitDebugEnabled();
336
337 HRESULT AddGlobalExpressionContextProvider(
338 [in] IProvideExpressionContexts *pdsfs,
339 [out] DWORD *pdwCookie);
340
341 HRESULT RemoveGlobalExpressionContextProvider(
342 [in] DWORD dwCookie);
343}
344
345/************************************************************
346 * interface IDebugApplication64
347 */
348[
349 object,
350 uuid(4dedc754-04c7-4f10-9e60-16a390fe6e62),
351 pointer_default(unique),
352 local
353]
354interface IDebugApplication64 : IRemoteDebugApplication
355{
356 HRESULT SetName(
357 [in] LPCOLESTR pstrName);
358
359 HRESULT StepOutComplete();
360
361 HRESULT DebugOutput(
362 [in] LPCOLESTR pstr);
363
364 HRESULT StartDebugSession();
365
366 HRESULT HandleBreakPoint(
367 [in] BREAKREASON br,
368 [out] BREAKRESUMEACTION *pbra);
369
370 HRESULT Close();
371
372 HRESULT GetBreakFlags(
373 [out] APPBREAKFLAGS *pabf,
374 [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
375
376 HRESULT GetCurrentThread(
377 [out] IDebugApplicationThread **pat);
378
379 HRESULT CreateAsyncDebugOperation(
380 [in] IDebugSyncOperation *psdo,
381 [out] IDebugAsyncOperation **ppado);
382
383 HRESULT AddStackFrameSniffer(
384 [in] IDebugStackFrameSniffer *pdsfs,
385 [out] DWORD *pdwCookie);
386
387 HRESULT RemoveStackFrameSniffer(
388 [in] DWORD dwCookie);
389
390 HRESULT QueryCurrentThreadIsDebuggerThread();
391
392 HRESULT SynchronousCallInDebuggerThread(
393 [in] IDebugThreadCall32 *pptc,
394 [in] DWORDLONG dwParam1,
395 [in] DWORDLONG dwParam2,
396 [in] DWORDLONG dwParam3);
397
398 HRESULT CreateApplicationNode(
399 [out] IDebugApplicationNode **ppdanNew);
400
401 HRESULT FireDebuggerEvent(
402 [in] REFGUID riid,
403 [in] IUnknown *punk);
404
405 HRESULT HandleRuntimeError(
406 [in] IActiveScriptErrorDebug *pErrorDebug,
407 [in] IActiveScriptSite *pScriptSite,
408 [out] BREAKRESUMEACTION *pbra,
409 [out] ERRORRESUMEACTION *perra,
410 [out] BOOL *pfCallOnScriptError);
411
412 BOOL FCanJitDebug();
413
414 BOOL FIsAutoJitDebugEnabled();
415
416 HRESULT AddGlobalExpressionContextProvider(
417 [in] IProvideExpressionContexts *pdsfs,
418 [out] DWORDLONG *pdwCookie);
419
420 HRESULT RemoveGlobalExpressionContextProvider(
421 [in] DWORDLONG dwCookie);
422}
423
424/************************************************************
425 * interface IActiveScriptSiteDebug32
426 */
427[
428 object,
429 uuid(51973c11-cb0c-11d0-b5c9-00a0244a0e7a),
430 pointer_default(unique),
431 local
432]
433interface IActiveScriptSiteDebug32 : IUnknown
434{
435 HRESULT GetDocumentContextFromPosition(
436 [in] DWORD dwSourceContext,
437 [in] ULONG uCharacterOffset,
438 [in] ULONG uNumChars,
439 [out] IDebugDocumentContext **ppsc);
440
441 HRESULT GetApplication(
442 [out] IDebugApplication32 **ppda);
443
444 HRESULT GetRootApplicationNode(
445 [out] IDebugApplicationNode **ppdanRoot);
446
447 HRESULT OnScriptErrorDebug(
448 [in] IActiveScriptErrorDebug *pErrorDebug,
449 [out] BOOL *pfEnterDebugger,
450 [out] BOOL *pfCallOnScriptErrorWhenContinuing);
451}
452
453/************************************************************
454 * interface IActiveScriptSiteDebug64
455 */
456[
457 object,
458 uuid(d6b96b0a-7463-402c-92ac-89984226942f),
459 pointer_default(unique),
460 local
461]
462interface IActiveScriptSiteDebug64 : IUnknown
463{
464 HRESULT GetDocumentContextFromPosition(
465 [in] DWORDLONG dwSourceContext,
466 [in] ULONG uCharacterOffset,
467 [in] ULONG uNumChars,
468 [out] IDebugDocumentContext **ppsc);
469
470 HRESULT GetApplication(
471 [out] IDebugApplication64 **ppda);
472
473 HRESULT GetRootApplicationNode(
474 [out] IDebugApplicationNode **ppdanRoot);
475
476 HRESULT OnScriptErrorDebug(
477 [in] IActiveScriptErrorDebug *pErrorDebug,
478 [out] BOOL *pfEnterDebugger,
479 [out] BOOL *pfCallOnScriptErrorWhenContinuing);
480}
481
482cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
483cpp_quote("#ifdef _WIN64")
484
485cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
486cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
487
488cpp_quote("#define IDebugApplication IDebugApplication64")
489cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
490
491cpp_quote("#else")
492
493cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
494cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")
495
496cpp_quote("#define IDebugApplication IDebugApplication32")
497cpp_quote("#define IID_IDebugApplication IID_IDebugApplication32")
498
499cpp_quote("#endif")
500cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette