[PDSK]
[reactos.git] / include / psdk / activdbg.idl
index b41ae09..7b1d62c 100644 (file)
@@ -22,6 +22,7 @@ import "activscp.idl";
 
 interface IDebugDocumentContext;
 interface IRemoteDebugApplication;
+interface IEnumDebugCodeContexts;
 
 /* FIXME: */
 interface IEnumDebugStackFrames;
@@ -79,6 +80,88 @@ typedef enum tagERRORRESUMEACTION {
     ERRORRESUMEACTION_SkipErrorStatement,
 } ERRORRESUMEACTION;
 
+typedef WORD SOURCE_TEXT_ATTR;
+
+#ifdef INTEROPLIB
+enum enum_SOURCE_TEXT_ATTR
+{
+    SOURCETEXT_ATTR_KEYWORD        = 0x01,
+    SOURCETEXT_ATTR_COMMENT        = 0x02,
+    SOURCETEXT_ATTR_NONSOURCE      = 0x04,
+    SOURCETEXT_ATTR_OPERATOR       = 0x08,
+    SOURCETEXT_ATTR_NUMBER         = 0x10,
+    SOURCETEXT_ATTR_STRING         = 0x20,
+    SOURCETEXT_ATTR_FUNCTION_START = 0x40
+};
+#endif
+
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_KEYWORD         = 0x01;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_COMMENT         = 0x02;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NONSOURCE       = 0x04;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_OPERATOR        = 0x08;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_NUMBER          = 0x10;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_STRING          = 0x20;
+const SOURCE_TEXT_ATTR SOURCETEXT_ATTR_FUNCTION_START  = 0x40;
+
+/************************************************************
+ *      interface IActiveScriptDebug32
+ */
+[
+    object,
+    uuid(51973c10-cb0c-11d0-b5c9-00a0244a0e7a),
+    pointer_default(unique)
+]
+interface IActiveScriptDebug32 : IUnknown
+{
+    HRESULT GetScriptTextAttributes(
+            [in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
+            [in] ULONG uNumCodeChars,
+            [in] LPCOLESTR pstrDelimiter,
+            [in] DWORD dwFlags,
+            [in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
+
+    HRESULT GetScriptletTextAttributes(
+            [in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
+            [in] ULONG uNumCodeChars,
+            [in] LPCOLESTR pstrDelimiter,
+            [in] DWORD dwFlags,
+            [in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
+
+    HRESULT EnumCodeContextsOfPosition(
+            [in] DWORD dwSourceContext,
+            [in] ULONG uCharacterOffset,
+            [in] ULONG uNumChars,
+            [out] IEnumDebugCodeContexts **ppescc);
+}
+
+[
+    object,
+    uuid(bc437e23-f5b8-47f4-bb79-7d1ce5483b86),
+    pointer_default(unique)
+]
+interface IActiveScriptDebug64 : IUnknown
+{
+    HRESULT GetScriptTextAttributes(
+            [in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
+            [in] ULONG uNumCodeChars,
+            [in] LPCOLESTR pstrDelimiter,
+            [in] DWORD dwFlags,
+            [in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
+
+    HRESULT GetScriptletTextAttributes(
+            [in, size_is(uNumCodeChars)] LPCOLESTR pstrCode,
+            [in] ULONG uNumCodeChars,
+            [in] LPCOLESTR pstrDelimiter,
+            [in] DWORD dwFlags,
+            [in, out, size_is(uNumCodeChars)] SOURCE_TEXT_ATTR *pattr);
+
+    HRESULT EnumCodeContextsOfPosition(
+           [in] DWORDLONG dwSourceContext,
+           [in] ULONG uCharacterOffset,
+           [in] ULONG uNumChars,
+           [out] IEnumDebugCodeContexts **ppescc);
+}
+
 /************************************************************
  *      interface IDebugDocumentInfo
  */
@@ -333,6 +416,85 @@ interface IDebugApplication32 : IRemoteDebugApplication
             [in]  DWORD dwCookie);
 }
 
+/************************************************************
+ *      interface IDebugApplication64
+ */
+[
+    object,
+    uuid(4dedc754-04c7-4f10-9e60-16a390fe6e62),
+    pointer_default(unique),
+    local
+]
+interface IDebugApplication64 : 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]  DWORDLONG dwParam1,
+            [in]  DWORDLONG dwParam2,
+            [in]  DWORDLONG 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] DWORDLONG *pdwCookie);
+
+    HRESULT RemoveGlobalExpressionContextProvider(
+            [in]  DWORDLONG dwCookie);
+}
+
 /************************************************************
  *      interface IActiveScriptSiteDebug32
  */
@@ -362,9 +524,112 @@ interface IActiveScriptSiteDebug32 : IUnknown
             [out] BOOL *pfCallOnScriptErrorWhenContinuing);
 }
 
+/************************************************************
+ *      interface IActiveScriptSiteDebug64
+ */
+[
+    object,
+    uuid(d6b96b0a-7463-402c-92ac-89984226942f),
+    pointer_default(unique),
+    local
+]
+interface IActiveScriptSiteDebug64 : IUnknown
+{
+    HRESULT GetDocumentContextFromPosition(
+            [in]  DWORDLONG dwSourceContext,
+            [in]  ULONG uCharacterOffset,
+            [in]  ULONG uNumChars,
+            [out] IDebugDocumentContext **ppsc);
+
+    HRESULT GetApplication(
+            [out] IDebugApplication64 **ppda);
+
+    HRESULT GetRootApplicationNode(
+            [out] IDebugApplicationNode **ppdanRoot);
+
+    HRESULT OnScriptErrorDebug(
+            [in]  IActiveScriptErrorDebug *pErrorDebug,
+            [out] BOOL *pfEnterDebugger,
+            [out] BOOL *pfCallOnScriptErrorWhenContinuing);
+}
+
+[
+    object,
+    uuid(51973C17-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IDebugStackFrame : IUnknown
+{
+    /* FIXME: fill me! */
+}
+
+[
+    object,
+    uuid(51973C1e-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IEnumDebugStackFrames : IUnknown
+{
+    /* FIXME: fill me! */
+}
+
+[
+    object,
+    uuid(51973C2a-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IApplicationDebugger : IUnknown
+{
+    /* FIXME: fill me! */
+};
+
+[
+    object,
+    uuid(51973C3c-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IEnumRemoteDebugApplicationThreads : IUnknown
+{
+    /* FIXME: fill me! */
+}
+
+[
+    object,
+    uuid(51973C34-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IDebugApplicationNode : IUnknown
+{
+    /* FIXME: fill me! */
+}
+
+[
+    object,
+    uuid(51973C40-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique)
+]
+interface IEnumDebugExpressionContexts : IUnknown
+{
+    /* FIXME: fill me! */
+}
+
+[
+    object,
+    uuid(51973C38-CB0C-11d0-B5C9-00A0244A0E7A),
+    pointer_default(unique),
+    local
+]
+interface IDebugApplicationThread : IRemoteDebugApplicationThread
+{
+    /* FIXME: fill me! */
+}
+
 cpp_quote("#ifndef DISABLE_ACTIVDBG_INTERFACE_WRAPPERS")
 cpp_quote("#ifdef _WIN64")
 
+cpp_quote("#define IActiveScriptDebug IActiveScriptDebug64")
+cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug64")
+
 cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug64")
 cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug64")
 
@@ -373,6 +638,9 @@ cpp_quote("#define IID_IDebugApplication IID_IDebugApplication64")
 
 cpp_quote("#else")
 
+cpp_quote("#define IActiveScriptDebug IActiveScriptDebug32")
+cpp_quote("#define IID_IActiveScriptDebug IID_IActiveScriptDebug32")
+
 cpp_quote("#define IActiveScriptSiteDebug IActiveScriptSiteDebug32")
 cpp_quote("#define IID_IActiveScriptSiteDebug IID_IActiveScriptSiteDebug32")