include: Added activedbg.idl.
diff --git a/.gitignore b/.gitignore
index da8d139..7837b5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -479,6 +479,7 @@
dlls/wsock32/libwsock32.def
dlls/wtsapi32/libwtsapi32.def
include/activaut.h
+include/activdbg.h
include/activscp.h
include/amstream.h
include/amvideo.h
diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index 4608d72..ecac265 100644
--- a/dlls/uuid/uuid.c
+++ b/dlls/uuid/uuid.c
@@ -52,6 +52,7 @@
#include "urlmon.h"
#define _NO_AUTHOR_GUIDS
#include "activaut.h"
+#include "activdbg.h"
#define _NO_SCRIPT_GUIDS
#include "activscp.h"
#include "dispex.h"
diff --git a/include/Makefile.in b/include/Makefile.in
index 50af56b..efcd92c 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -6,6 +6,7 @@
IDL_H_SRCS = \
activaut.idl \
+ activdbg.idl \
activscp.idl \
amstream.idl \
amvideo.idl \
diff --git a/include/activdbg.idl b/include/activdbg.idl
new file mode 100644
index 0000000..b41ae09
--- /dev/null
+++ b/include/activdbg.idl
@@ -0,0 +1,383 @@
+/*
+ * Copyright 2008 Jacek Caban for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "ocidl.idl";
+import "activscp.idl";
+/* import "dbgprop.idl"; */
+
+interface IDebugDocumentContext;
+interface IRemoteDebugApplication;
+
+/* FIXME: */
+interface IEnumDebugStackFrames;
+interface IDebugStackFrame;
+interface IApplicationDebugger;
+interface IEnumRemoteDebugApplicationThreads;
+interface IDebugApplicationNode;
+interface IEnumDebugExpressionContexts;
+interface IDebugApplicationThread;
+interface IDebugSyncOperation;
+interface IDebugAsyncOperation;
+interface IDebugStackFrameSniffer;
+interface IDebugThreadCall32;
+interface IActiveScriptErrorDebug;
+interface IProvideExpressionContexts;
+
+typedef enum tagBREAKPOINT_STATE {
+ BREAKPOINT_DELETED,
+ BREAKPOINT_DISABLED,
+ BREAKPOINT_ENABLED
+} BREAKPOINT_STATE;
+
+typedef DWORD APPBREAKFLAGS;
+
+typedef enum tagBREAKREASON {
+ BREAKREASON_STEP,
+ BREAKREASON_BREAKPOINT,
+ BREAKREASON_DEBUGGER_BLOCK,
+ BREAKREASON_HOST_INITIATED,
+ BREAKREASON_LANGUAGE_INITIATED,
+ BREAKREASON_DEBUGGER_HALT,
+ BREAKREASON_ERROR,
+ BREAKREASON_JIT
+} BREAKREASON;
+
+typedef enum tagBREAKRESUME_ACTION {
+ BREAKRESUMEACTION_ABORT,
+ BREAKRESUMEACTION_CONTINUE,
+ BREAKRESUMEACTION_STEP_INTO,
+ BREAKRESUMEACTION_STEP_OVER,
+ BREAKRESUMEACTION_STEP_OUT,
+ BREAKRESUMEACTION_IGNORE
+} BREAKRESUMEACTION;
+
+typedef enum tagDOCUMENTNAMETYPE {
+ DOCUMENTNAMETYPE_APPNODE,
+ DOCUMENTNAMETYPE_TITLE,
+ DOCUMENTNAMETYPE_FILE_TAIL,
+ DOCUMENTNAMETYPE_URL
+} DOCUMENTNAMETYPE;
+
+typedef enum tagERRORRESUMEACTION {
+ ERRORRESUMEACTION_ReexecuteErrorStatement,
+ ERRORRESUMEACTION_AbortCallAndReturnErrorToCaller,
+ ERRORRESUMEACTION_SkipErrorStatement,
+} ERRORRESUMEACTION;
+
+/************************************************************
+ * interface IDebugDocumentInfo
+ */
+[
+ object,
+ uuid(51973c1f-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IDebugDocumentInfo : IUnknown
+{
+ HRESULT GetName(
+ [in] DOCUMENTNAMETYPE dnt,
+ [out] BSTR *pbstrName);
+
+ HRESULT GetDocumentClassId(
+ [out] CLSID *pclsidDocument);
+}
+
+/************************************************************
+ * interface IDebugDocument
+ */
+[
+ object,
+ uuid(51973c21-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IDebugDocument : IDebugDocumentInfo
+{
+}
+
+/************************************************************
+ * interface IDebugCodeContext
+ */
+[
+ object,
+ uuid(51973c13-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IDebugCodeContext : IUnknown
+{
+ HRESULT GetDocumentContext(
+ [out] IDebugDocumentContext **ppsc);
+
+ HRESULT SetBreakPoint(
+ [in] BREAKPOINT_STATE bps);
+}
+
+/************************************************************
+ * interface IEnumDebugCodeContexts
+ */
+[
+ object,
+ uuid(51973c1d-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IEnumDebugCodeContexts : IUnknown
+{
+ HRESULT Next(
+ [in] ULONG celt,
+ [out] IDebugCodeContext **pscc,
+ [out] ULONG *pceltFetched);
+
+ HRESULT Skip(
+ [in] ULONG celt);
+
+ HRESULT Reset();
+
+ HRESULT Clone(
+ [out] IEnumDebugCodeContexts **ppescc);
+}
+
+/************************************************************
+ * interface IDebugDocumentContext
+ */
+[
+ object,
+ uuid(51973c28-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IDebugDocumentContext : IUnknown
+{
+ HRESULT GetDocument(
+ [out] IDebugDocument **ppsd);
+
+ HRESULT EnumCodeContexts(
+ [out] IEnumDebugCodeContexts **ppescc);
+}
+
+/************************************************************
+ * interface IRemoteDebugApplicationThread
+ */
+[
+ object,
+ uuid(51973c37-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique)
+]
+interface IRemoteDebugApplicationThread : IUnknown
+{
+ HRESULT GetSystemThreadId(
+ [out] DWORD *dwThreadId);
+
+ HRESULT GetApplication(
+ [out] IRemoteDebugApplication **pprda);
+
+ HRESULT EnumStackFrames(
+ [out] IEnumDebugStackFrames **ppedsf);
+
+ HRESULT GetDescription(
+ [out] BSTR *pbstrDescription,
+ [out] BSTR *pbstrState);
+
+ HRESULT SetNextStatement(
+ [in] IDebugStackFrame *pStackFrame,
+ [in] IDebugCodeContext *pCodeContext);
+
+ HRESULT GetState(
+ [out] DWORD *pState);
+
+ HRESULT Suspend(
+ [out] DWORD *pdwCount);
+
+ HRESULT Resume(
+ [out] DWORD *pdwCount);
+
+ HRESULT GetSuspendCount(
+ [out] DWORD *pdwCount);
+}
+
+/************************************************************
+ * interface IRemoteDebugApplication
+ */
+[
+ object,
+ uuid(51973c30-cb0c-11d0-b5c9-00a0244Aae7a),
+ pointer_default(unique)
+]
+interface IRemoteDebugApplication : IUnknown
+{
+ HRESULT ResumeFromBreakPoint(
+ [in] IRemoteDebugApplicationThread *prptFocus,
+ [in] BREAKRESUMEACTION bra,
+ [in] ERRORRESUMEACTION era);
+
+ HRESULT CauseBreak();
+
+ HRESULT ConnectDebugger(
+ [in] IApplicationDebugger *pad);
+
+ HRESULT DisconnectDebugger();
+
+ HRESULT GetDebugger(
+ [out] IApplicationDebugger **pad);
+
+ HRESULT CreateInstanceAtApplication(
+ [in] REFCLSID rclsid,
+ [in] IUnknown *pUnkOuter,
+ [in] DWORD dwClsContext,
+ [in] REFIID riid,
+ [out, iid_is(riid)] IUnknown **ppvObject);
+
+ HRESULT QueryAlive();
+
+ HRESULT EnumThreads(
+ [out] IEnumRemoteDebugApplicationThreads **pperdat);
+
+ HRESULT GetName(
+ [out] BSTR *pbstrName);
+
+ HRESULT GetRootNode(
+ [out] IDebugApplicationNode **ppdanRoot);
+
+ HRESULT EnumGlobalExpressionContexts(
+ [out] IEnumDebugExpressionContexts **ppedec);
+}
+
+/************************************************************
+ * interface IDebugApplication32
+ */
+[
+ object,
+ uuid(51973c32-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique),
+ local
+]
+interface IDebugApplication32 : IRemoteDebugApplication
+{
+ HRESULT SetName(
+ [in] LPCOLESTR pstrName);
+
+ HRESULT StepOutComplete();
+
+ HRESULT DebugOutput(
+ [in] LPCOLESTR pstr);
+
+ HRESULT StartDebugSession();
+
+ HRESULT HandleBreakPoint(
+ [in] BREAKREASON br,
+ [out] BREAKRESUMEACTION *pbra);
+
+ HRESULT Close();
+
+ HRESULT GetBreakFlags(
+ [out] APPBREAKFLAGS *pabf,
+ [out] IRemoteDebugApplicationThread **pprdatSteppingThread);
+
+ HRESULT GetCurrentThread(
+ [out] IDebugApplicationThread **pat);
+
+ HRESULT CreateAsyncDebugOperation(
+ [in] IDebugSyncOperation *psdo,
+ [out] IDebugAsyncOperation **ppado);
+
+ HRESULT AddStackFrameSniffer(
+ [in] IDebugStackFrameSniffer *pdsfs,
+ [out] DWORD *pdwCookie);
+
+ HRESULT RemoveStackFrameSniffer(
+ [in] DWORD dwCookie);
+
+ HRESULT QueryCurrentThreadIsDebuggerThread();
+
+ HRESULT SynchronousCallInDebuggerThread(
+ [in] IDebugThreadCall32 *pptc,
+ [in] DWORD dwParam1,
+ [in] DWORD dwParam2,
+ [in] DWORD dwParam3);
+
+ HRESULT CreateApplicationNode(
+ [out] IDebugApplicationNode **ppdanNew);
+
+ HRESULT FireDebuggerEvent(
+ [in] REFGUID riid,
+ [in] IUnknown *punk);
+
+ HRESULT HandleRuntimeError(
+ [in] IActiveScriptErrorDebug *pErrorDebug,
+ [in] IActiveScriptSite *pScriptSite,
+ [out] BREAKRESUMEACTION *pbra,
+ [out] ERRORRESUMEACTION *perra,
+ [out] BOOL *pfCallOnScriptError);
+
+ BOOL FCanJitDebug();
+
+ BOOL FIsAutoJitDebugEnabled();
+
+ HRESULT AddGlobalExpressionContextProvider(
+ [in] IProvideExpressionContexts *pdsfs,
+ [out] DWORD *pdwCookie);
+
+ HRESULT RemoveGlobalExpressionContextProvider(
+ [in] DWORD dwCookie);
+}
+
+/************************************************************
+ * interface IActiveScriptSiteDebug32
+ */
+[
+ object,
+ uuid(51973c11-cb0c-11d0-b5c9-00a0244a0e7a),
+ pointer_default(unique),
+ local
+]
+interface IActiveScriptSiteDebug32 : IUnknown
+{
+ HRESULT GetDocumentContextFromPosition(
+ [in] DWORD dwSourceContext,
+ [in] ULONG uCharacterOffset,
+ [in] ULONG uNumChars,
+ [out] IDebugDocumentContext **ppsc);
+
+ HRESULT GetApplication(
+ [out] IDebugApplication32 **ppda);
+
+ HRESULT GetRootApplicationNode(
+ [out] IDebugApplicationNode **ppdanRoot);
+
+ HRESULT OnScriptErrorDebug(
+ [in] IActiveScriptErrorDebug *pErrorDebug,
+ [out] BOOL *pfEnterDebugger,
+ [out] BOOL *pfCallOnScriptErrorWhenContinuing);
+}
+
+cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
+cpp_quote("#ifdef _WIN64")
+
+cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
+cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
+
+cpp_quote("#define IDebugApplication IDebugApplication64")
+cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
+
+cpp_quote("#else")
+
+cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
+cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")
+
+cpp_quote("#define IDebugApplication IDebugApplication32")
+cpp_quote("#define IID_IDebugApplication IID_IDebugApplication32")
+
+cpp_quote("#endif")
+cpp_quote("#endif")