diff options
| author | Nikita Nemkin | 2021-06-18 15:32:41 +0000 |
|---|---|---|
| committer | Niraj Modi | 2021-07-05 08:47:03 +0000 |
| commit | 7a8160aa2e7d115551b90536a89ab3bc7eddf204 (patch) | |
| tree | 8560131c6e5b3faa62f9f99e9be925bc6e0df36d | |
| parent | b6a81a382c8438ebce01fa0b4c391b374ac64b5e (diff) | |
| download | eclipse.platform.swt-7a8160aa2e7d115551b90536a89ab3bc7eddf204.tar.gz eclipse.platform.swt-7a8160aa2e7d115551b90536a89ab3bc7eddf204.tar.xz eclipse.platform.swt-7a8160aa2e7d115551b90536a89ab3bc7eddf204.zip | |
Bug 572119 - [Browser][Edge] cookie setting/getting does not work
Implement cookie getting, setting and clearing for Edge Browser
back-end. Note that due to a limitation of the Edge API, cookie
access only works if a Browser instance is available.
Change-Id: I8e85dd5ca3bf381bb8a7a6be8f66fd0e03d6ea19
Signed-off-by: Nikita Nemkin <nikita@nemkin.ru>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/182208
Tested-by: Niraj Modi <niraj.modi@in.ibm.com>
Reviewed-by: Niraj Modi <niraj.modi@in.ibm.com>
10 files changed, 367 insertions, 70 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/Browser.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/Browser.java index e6ddfd1107..b24c29e1f5 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/Browser.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/Browser.java @@ -252,7 +252,7 @@ public static String getCookie (String name, String url) { * Example value strings: * <code>foo=bar</code> (basic session cookie) * <code>foo=bar; path=/; domain=.eclipse.org</code> (session cookie) - * <code>foo=bar; expires=Thu, 01-Jan-2030 00:00:01 GMT</code> (persistent cookie) + * <code>foo=bar; expires=Tue, 01-Jan-2030 00:00:01 GMT</code> (persistent cookie) * <code>foo=; expires=Thu, 01-Jan-1970 00:00:01 GMT</code> (deletes cookie <code>foo</code>) * * @param value the cookie value diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java index 22caa5726b..0f5dec79f9 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/Edge.java @@ -13,7 +13,9 @@ *******************************************************************************/ package org.eclipse.swt.browser; +import java.net.*; import java.nio.charset.*; +import java.time.*; import java.util.*; import java.util.function.*; @@ -44,6 +46,7 @@ class Edge extends WebBrowser { static String DataDir; static ICoreWebView2Environment Environment; + static ArrayList<Edge> Instances = new ArrayList<>(); ICoreWebView2 webView; ICoreWebView2_2 webView_2; @@ -55,6 +58,113 @@ class Edge extends WebBrowser { boolean inNewWindow; HashMap<Long, LocationEvent> navigations = new HashMap<>(); + static { + NativeClearSessions = () -> { + ICoreWebView2CookieManager manager = getCookieManager(); + if (manager == null) return; + + long[] ppv = new long[1]; + int hr = callAndWait(ppv, completion -> manager.GetCookies(null, completion)); + if (hr != COM.S_OK) error(SWT.ERROR_NO_HANDLES, hr); + ICoreWebView2CookieList cookieList = new ICoreWebView2CookieList(ppv[0]); + + int[] count = new int[1], isSession = new int[1]; + cookieList.get_Count(count); + for (int i = 0; i < count[0]; i++) { + hr = cookieList.GetValueAtIndex(i, ppv); + if (hr != COM.S_OK) error(SWT.ERROR_NO_HANDLES, hr); + ICoreWebView2Cookie cookie = new ICoreWebView2Cookie(ppv[0]); + cookie.get_IsSession(isSession); + if (isSession[0] != 0) { + manager.DeleteCookie(cookie); + } + cookie.Release(); + } + cookieList.Release(); + manager.Release(); + + // Bug in WebView2. DeleteCookie is asynchronous. Wait a short while for it to take effect. + try { + Thread.sleep(5); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }; + + NativeGetCookie = () -> { + ICoreWebView2CookieManager manager = getCookieManager(); + if (manager == null) return; + + char[] uri = stringToWstr(CookieUrl); + long[] ppv = new long[1]; + int hr = callAndWait(ppv, completion -> manager.GetCookies(uri, completion)); + if (hr != COM.S_OK) error(SWT.ERROR_NO_HANDLES, hr); + ICoreWebView2CookieList cookieList = new ICoreWebView2CookieList(ppv[0]); + + int[] count = new int[1]; + cookieList.get_Count(count); + for (int i = 0; i < count[0]; i++) { + hr = cookieList.GetValueAtIndex(i, ppv); + if (hr != COM.S_OK) error(SWT.ERROR_NO_HANDLES, hr); + ICoreWebView2Cookie cookie = new ICoreWebView2Cookie(ppv[0]); + cookie.get_Name(ppv); + String name = wstrToString(ppv[0], true); + if (CookieName.equals(name)) { + cookie.get_Value(ppv); + CookieValue = wstrToString(ppv[0], true); + } + cookie.Release(); + if (CookieValue != null) { + break; + } + } + cookieList.Release(); + manager.Release(); + }; + + NativeSetCookie = () -> { + HttpCookie parser = HttpCookie.parse(CookieValue).get(0); + URL origin; + try { + origin = new URL(CookieUrl); + } catch (MalformedURLException e) { + return; + } + if (parser.getDomain() == null) { + parser.setDomain(origin.getHost()); + } + if (parser.getPath() == null) { + parser.setPath(origin.getPath()); + } + + ICoreWebView2CookieManager manager = getCookieManager(); + if (manager == null) return; + + char[] name = stringToWstr(parser.getName()); + char[] value = stringToWstr(parser.getValue()); + char[] domain = stringToWstr(parser.getDomain()); + char[] path = stringToWstr(parser.getPath()); + long[] ppv = new long[1]; + int hr = manager.CreateCookie(name, value, domain, path, ppv); + if (hr != COM.S_OK) { + manager.Release(); + return; + } + ICoreWebView2Cookie cookie = new ICoreWebView2Cookie(ppv[0]); + + if (parser.getMaxAge() != -1) { + cookie.put_Expires(Instant.now().getEpochSecond() + parser.getMaxAge()); + } + cookie.put_IsSecure(parser.getSecure()); + cookie.put_IsHttpOnly(parser.isHttpOnly()); + hr = manager.AddOrUpdateCookie(cookie); + cookie.Release(); + manager.Release(); + + CookieResult = hr >= COM.S_OK; + }; + } + static String wstrToString(long psz, boolean free) { if (psz == 0) return ""; int len = OS.wcslen(psz); @@ -138,6 +248,21 @@ static int callAndWait(String[] pstr, ToIntFunction<IUnknown> callable) { return phr[0]; } +static ICoreWebView2CookieManager getCookieManager() { + if (Instances.isEmpty()) { + SWT.error(SWT.ERROR_NOT_IMPLEMENTED, null, " [WebView2: cookie access requires a Browser instance]"); + } + Edge instance = Instances.get(0); + if (instance.webView_2 == null) { + SWT.error(SWT.ERROR_NOT_IMPLEMENTED, null, " [WebView2 version 88+ is required to access cookies]"); + } + + long[] ppv = new long[1]; + int hr = instance.webView_2.get_CookieManager(ppv); + if (hr != COM.S_OK) error(SWT.ERROR_NO_HANDLES, hr); + return new ICoreWebView2CookieManager(ppv[0]); +} + void checkDeadlock() { // Feature in WebView2. All event handlers, completion handlers // and JavaScript callbacks are serialized. An event handler waiting @@ -269,9 +394,13 @@ public void create(Composite parent, int style) { browser.addListener(SWT.FocusIn, this::browserFocusIn); browser.addListener(SWT.Resize, this::browserResize); browser.addListener(SWT.Move, this::browserMove); + + Instances.add(this); } void browserDispose(Event event) { + Instances.remove(this); + if (webView_2 != null) webView_2.Release(); if (environment2 != null) environment2.Release(); settings.Release(); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c index fbc0057f1e..a6caa6962a 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c @@ -1085,19 +1085,31 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong))(*(jlong **)arg1)[arg0])(arg1); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong))(*(jlong **)arg1)[arg0])(arg1); COM_NATIVE_EXIT(env, that, VtblCall__IJ_FUNC); return rc; } #endif +#ifndef NO_VtblCall__IJD +JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJD) + (JNIEnv *env, jclass that, jint arg0, jlong arg1, jdouble arg2) +{ + jint rc = 0; + COM_NATIVE_ENTER(env, that, VtblCall__IJD_FUNC); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jdouble))(*(jlong **)arg1)[arg0])(arg1, arg2); + COM_NATIVE_EXIT(env, that, VtblCall__IJD_FUNC); + return rc; +} +#endif + #ifndef NO_VtblCall__IJI JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI) (JNIEnv *env, jclass that, jint arg0, jlong arg1, jint arg2) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJI_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint))(*(jlong **)arg1)[arg0])(arg1, arg2); COM_NATIVE_EXIT(env, that, VtblCall__IJI_FUNC); return rc; } @@ -1113,7 +1125,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIILorg_eclipse_swt_internal_ole_w COM_NATIVE_ENTER(env, that, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC); if (arg5) if ((lparg5 = getDISPPARAMSFields(env, arg5, &_arg5)) == NULL) goto fail; if (arg7) if ((lparg7 = getEXCEPINFOFields(env, arg7, &_arg7)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, DISPPARAMS *, jintLong, EXCEPINFO *, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5, arg6, lparg7, arg8); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jint, jint, DISPPARAMS *, jlong, EXCEPINFO *, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5, arg6, lparg7, arg8); fail: if (arg7 && lparg7) setEXCEPINFOFields(env, arg7, lparg7); if (arg5 && lparg5) setDISPPARAMSFields(env, arg5, lparg5); @@ -1130,7 +1142,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIJLorg_eclipse_swt_internal_win32 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJIIJLorg_eclipse_swt_internal_win32_SIZE_2_FUNC); if (arg5) if ((lparg5 = getSIZEFields(env, arg5, &_arg5)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, SIZE *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jint, jlong, SIZE *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); fail: if (arg5 && lparg5) setSIZEFields(env, arg5, lparg5); COM_NATIVE_EXIT(env, that, VtblCall__IJIIJLorg_eclipse_swt_internal_win32_SIZE_2_FUNC); @@ -1144,7 +1156,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJIJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); COM_NATIVE_EXIT(env, that, VtblCall__IJIJ_FUNC); return rc; } @@ -1158,7 +1170,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIJI_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJIJI_3J_FUNC); if (arg5) if ((lparg5 = (*env)->GetLongArrayElements(env, arg5, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); fail: if (arg5 && lparg5) (*env)->ReleaseLongArrayElements(env, arg5, lparg5, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJIJI_3J_FUNC); @@ -1172,7 +1184,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIJJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJIJJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4); COM_NATIVE_EXIT(env, that, VtblCall__IJIJJ_FUNC); return rc; } @@ -1186,7 +1198,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIJ_3I) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJIJ_3I_FUNC); if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJIJ_3I_FUNC); @@ -1202,7 +1214,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC); if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, GUID *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, GUID *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3); COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC); @@ -1224,7 +1236,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win if (arg6) if ((lparg6 = getDISPPARAMSFields(env, arg6, &_arg6)) == NULL) goto fail; if (arg8) if ((lparg8 = getEXCEPINFOFields(env, arg8, &_arg8)) == NULL) goto fail; if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, GUID *, jintLong, jintLong, DISPPARAMS *, jintLong, EXCEPINFO *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, lparg6, arg7, lparg8, lparg9); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, GUID *, jint, jint, DISPPARAMS *, jlong, EXCEPINFO *, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, lparg6, arg7, lparg8, lparg9); fail: if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0); if (arg8 && lparg8) setEXCEPINFOFields(env, arg8, lparg8); @@ -1243,7 +1255,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC); if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, GUID *, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, GUID *, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5); fail: if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3); COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC); @@ -1263,7 +1275,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail; if (arg4) if ((lparg4 = getGUIDFields(env, arg4, &_arg4)) == NULL) goto fail; if (arg5) if ((lparg5 = getGUIDFields(env, arg5, &_arg5)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, GUID *, GUID *, GUID *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, GUID *, GUID *, GUID *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5); fail: if (arg5 && lparg5) setGUIDFields(env, arg5, lparg5); if (arg4 && lparg4) setGUIDFields(env, arg4, lparg4); @@ -1283,7 +1295,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_M COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC); if (arg3) if ((lparg3 = getMSGFields(env, arg3, &_arg3)) == NULL) goto fail; if (arg7) if ((lparg7 = getRECTFields(env, arg7, &_arg7)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, MSG *, jintLong, jintLong, jintLong, RECT *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, MSG *, jlong, jint, jlong, RECT *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7); fail: if (arg7 && lparg7) setRECTFields(env, arg7, lparg7); if (arg3 && lparg3) setMSGFields(env, arg3, lparg3); @@ -1300,7 +1312,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_S jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_SIZE_2_FUNC); if (arg3) if ((lparg3 = getSIZEFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, SIZE *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, SIZE *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) setSIZEFields(env, arg3, lparg3); COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_SIZE_2_FUNC); @@ -1316,7 +1328,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3I) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJI_3I_FUNC); if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJI_3I_FUNC); @@ -1332,7 +1344,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJI_3J_FUNC); if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJI_3J_FUNC); @@ -1350,7 +1362,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3JI_3I) COM_NATIVE_ENTER(env, that, VtblCall__IJI_3JI_3I_FUNC); if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong *, jint, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5); fail: if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0); if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); @@ -1369,7 +1381,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3J_3I) COM_NATIVE_ENTER(env, that, VtblCall__IJI_3J_3I_FUNC); if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong *, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0); if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); @@ -1392,7 +1404,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3J_3J_3I_3J) if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail; if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *, jintLong *, jintLong *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint, jlong *, jlong *, jint *, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0); @@ -1409,7 +1421,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2); COM_NATIVE_EXIT(env, that, VtblCall__IJJ_FUNC); return rc; } @@ -1421,7 +1433,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJI) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJI_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jint))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); COM_NATIVE_EXIT(env, that, VtblCall__IJJI_FUNC); return rc; } @@ -1435,7 +1447,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJII_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJII_3J_FUNC); if (arg5) if ((lparg5 = (*env)->GetLongArrayElements(env, arg5, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jint, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); fail: if (arg5 && lparg5) (*env)->ReleaseLongArrayElements(env, arg5, lparg5, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJII_3J_FUNC); @@ -1451,7 +1463,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJI_3I) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJI_3I_FUNC); if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jint, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJI_3I_FUNC); @@ -1467,7 +1479,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJI_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJI_3J_FUNC); if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJI_3J_FUNC); @@ -1481,7 +1493,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3); COM_NATIVE_EXIT(env, that, VtblCall__IJJJ_FUNC); return rc; } @@ -1495,7 +1507,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJI_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJI_3J_FUNC); if (arg5) if ((lparg5 = (*env)->GetLongArrayElements(env, arg5, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, lparg5); fail: if (arg5 && lparg5) (*env)->ReleaseLongArrayElements(env, arg5, lparg5, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJJI_3J_FUNC); @@ -1509,7 +1521,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4); COM_NATIVE_EXIT(env, that, VtblCall__IJJJJ_FUNC); return rc; } @@ -1521,7 +1533,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJJJJ) { jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJJJJ_FUNC); - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, jlong, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, arg4, arg5, arg6); COM_NATIVE_EXIT(env, that, VtblCall__IJJJJJJ_FUNC); return rc; } @@ -1537,7 +1549,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_ole_wi COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC); if (arg4) if ((lparg4 = getGUIDFields(env, arg4, &_arg4)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, GUID *, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, GUID *, jlong, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); if (arg4 && lparg4) setGUIDFields(env, arg4, lparg4); @@ -1554,7 +1566,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_win32_ jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC); if (arg4) if ((lparg4 = getPOINTFields(env, arg4, &_arg4)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, POINT *, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, POINT *, jint))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5); fail: if (arg4 && lparg4) setPOINTFields(env, arg4, lparg4); COM_NATIVE_EXIT(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC); @@ -1570,7 +1582,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJ_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJJ_3J_FUNC); if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, arg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJJ_3J_FUNC); @@ -1586,7 +1598,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_win32_P jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC); if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, POINT *, jintLong))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, POINT *, jlong))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3, arg4); fail: if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3); COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC); @@ -1602,7 +1614,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJ_3I) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJ_3I_FUNC); if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jint *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJ_3I_FUNC); @@ -1618,7 +1630,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJ_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJJ_3J_FUNC); if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong, jlong *))(*(jlong **)arg1)[arg0])(arg1, arg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJJ_3J_FUNC); @@ -1634,7 +1646,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC); if (arg2) if ((lparg2 = getCAUUIDFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, CAUUID *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, CAUUID *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setCAUUIDFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC); @@ -1650,7 +1662,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2_FUNC); if (arg2) if ((lparg2 = getCONTROLINFOFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, CONTROLINFO *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, CONTROLINFO *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setCONTROLINFOFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CONTROLINFO_2_FUNC); @@ -1666,7 +1678,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_FUNC); if (arg2) if ((lparg2 = getFORMATETCFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, FORMATETC *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, FORMATETC *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setFORMATETCFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_FUNC); @@ -1684,7 +1696,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2Lorg_eclipse_swt_internal_ole_win32_STGMEDIUM_2_FUNC); if (arg2) if ((lparg2 = getFORMATETCFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg3) if ((lparg3 = getSTGMEDIUMFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, FORMATETC *, STGMEDIUM *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, FORMATETC *, STGMEDIUM *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); fail: if (arg3 && lparg3) setSTGMEDIUMFields(env, arg3, lparg3); if (arg2 && lparg2) setFORMATETCFields(env, arg2, lparg2); @@ -1701,7 +1713,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC); if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC); @@ -1717,7 +1729,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC); if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jintLong, jintLong, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *, jint, jint, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6); fail: if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC); @@ -1735,7 +1747,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2J_FUNC); if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg4) if ((lparg4 = getOLECMDFields(env, arg4, &_arg4)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jintLong, OLECMD *, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, arg5); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *, jint, OLECMD *, jlong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, arg5); fail: if (arg4 && lparg4) setOLECMDFields(env, arg4, lparg4); if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2); @@ -1754,7 +1766,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC); if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *, jlong, jint, jint, jint *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0); if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2); @@ -1775,7 +1787,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail; if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, GUID *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *, GUID *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0); if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3); @@ -1795,7 +1807,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC); if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, GUID *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2); @@ -1812,7 +1824,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3 jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_LICINFO_2_FUNC); if (arg2) if ((lparg2 = getLICINFOFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, LICINFO *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, LICINFO *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setLICINFOFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_LICINFO_2_FUNC); @@ -1828,7 +1840,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_MS jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_MSG_2_FUNC); if (arg2) if ((lparg2 = getMSGFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, MSG *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, MSG *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setMSGFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_MSG_2_FUNC); @@ -1844,7 +1856,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_PO jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC); if (arg2) if ((lparg2 = getPOINTFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, POINT *, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, POINT *, jint))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); fail: if (arg2 && lparg2) setPOINTFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC); @@ -1860,7 +1872,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_PR jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2J_FUNC); if (arg2) if ((lparg2 = getPROPERTYKEYFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, PROPERTYKEY *, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, PROPERTYKEY *, jlong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); fail: if (arg2 && lparg2) setPROPERTYKEYFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_PROPERTYKEY_2J_FUNC); @@ -1876,7 +1888,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RE jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2_FUNC); if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, RECT *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setRECTFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2_FUNC); @@ -1892,7 +1904,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RE jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JI_FUNC); if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, RECT *, jlong, jint))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4); fail: if (arg2 && lparg2) setRECTFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JI_FUNC); @@ -1908,7 +1920,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RE jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JJ_FUNC); if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT, jintLong, jintLong))(*(jlong **)arg1)[arg0])(arg1, *lparg2, arg3, arg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, RECT, jlong, jlong))(*(jlong **)arg1)[arg0])(arg1, *lparg2, arg3, arg4); fail: if (arg2 && lparg2) setRECTFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JJ_FUNC); @@ -1926,7 +1938,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RE COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2Lorg_eclipse_swt_internal_win32_RECT_2_FUNC); if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail; if (arg3) if ((lparg3 = getRECTFields(env, arg3, &_arg3)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *, RECT *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, RECT *, RECT *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); fail: if (arg3 && lparg3) setRECTFields(env, arg3, lparg3); if (arg2 && lparg2) setRECTFields(env, arg2, lparg2); @@ -1943,7 +1955,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_TF jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2_FUNC); if (arg2) if ((lparg2 = getTF_DISPLAYATTRIBUTEFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, TF_DISPLAYATTRIBUTE *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, TF_DISPLAYATTRIBUTE *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) setTF_DISPLAYATTRIBUTEFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_TF_1DISPLAYATTRIBUTE_2_FUNC); @@ -1959,7 +1971,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_3C_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJ_3C_FUNC); @@ -1975,7 +1987,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CI) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CI_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jint))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); fail: if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CI_FUNC); @@ -1993,7 +2005,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CIII_3J) COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CIII_3J_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jint, jint, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); @@ -2014,7 +2026,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CII_3I_3I) if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong, jintLong, jintLong *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, lparg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jint, jint, jint *, jint *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, lparg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0); if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0); @@ -2032,7 +2044,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJ) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJ_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jlong))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3); fail: if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CJ_FUNC); @@ -2050,7 +2062,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJIII_3J) COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJIII_3J_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg7) if ((lparg7 = (*env)->GetLongArrayElements(env, arg7, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6, lparg7); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jlong, jint, jint, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6, lparg7); fail: if (arg7 && lparg7) (*env)->ReleaseLongArrayElements(env, arg7, lparg7, 0); if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); @@ -2069,7 +2081,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJII_3J) COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJII_3J_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong, jintLong, jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jlong, jint, jint, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); @@ -2088,7 +2100,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C_3C) COM_NATIVE_ENTER(env, that, VtblCall__IJ_3C_3C_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jchar *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jchar *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0); if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); @@ -2111,7 +2123,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C_3CJ_3C_3J) if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail; if (arg5) if ((lparg5 = (*env)->GetCharArrayElements(env, arg5, NULL)) == NULL) goto fail; if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jchar *, jintLong, jchar *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, arg4, lparg5, lparg6); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jchar *, jlong, jchar *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, arg4, lparg5, lparg6); fail: if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); if (arg5 && lparg5) (*env)->ReleaseCharArrayElements(env, arg5, lparg5, 0); @@ -2122,6 +2134,34 @@ fail: } #endif +#ifndef NO_VtblCall__IJ_3C_3C_3C_3C_3J +JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C_3C_3C_3C_3J) + (JNIEnv *env, jclass that, jint arg0, jlong arg1, jcharArray arg2, jcharArray arg3, jcharArray arg4, jcharArray arg5, jlongArray arg6) +{ + jchar *lparg2=NULL; + jchar *lparg3=NULL; + jchar *lparg4=NULL; + jchar *lparg5=NULL; + jlong *lparg6=NULL; + jint rc = 0; + COM_NATIVE_ENTER(env, that, VtblCall__IJ_3C_3C_3C_3C_3J_FUNC); + if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; + if (arg3) if ((lparg3 = (*env)->GetCharArrayElements(env, arg3, NULL)) == NULL) goto fail; + if (arg4) if ((lparg4 = (*env)->GetCharArrayElements(env, arg4, NULL)) == NULL) goto fail; + if (arg5) if ((lparg5 = (*env)->GetCharArrayElements(env, arg5, NULL)) == NULL) goto fail; + if (arg6) if ((lparg6 = (*env)->GetLongArrayElements(env, arg6, NULL)) == NULL) goto fail; + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jchar *, jchar *, jchar *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4, lparg5, lparg6); +fail: + if (arg6 && lparg6) (*env)->ReleaseLongArrayElements(env, arg6, lparg6, 0); + if (arg5 && lparg5) (*env)->ReleaseCharArrayElements(env, arg5, lparg5, 0); + if (arg4 && lparg4) (*env)->ReleaseCharArrayElements(env, arg4, lparg4, 0); + if (arg3 && lparg3) (*env)->ReleaseCharArrayElements(env, arg3, lparg3, 0); + if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); + COM_NATIVE_EXIT(env, that, VtblCall__IJ_3C_3C_3C_3C_3J_FUNC); + return rc; +} +#endif + #ifndef NO_VtblCall__IJ_3C_3J JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C_3J) (JNIEnv *env, jclass that, jint arg0, jlong arg1, jcharArray arg2, jlongArray arg3) @@ -2132,7 +2172,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3C_3J) COM_NATIVE_ENTER(env, that, VtblCall__IJ_3C_3J_FUNC); if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jchar *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3); fail: if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0); if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0); @@ -2149,7 +2189,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3I) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_3I_FUNC); if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJ_3I_FUNC); @@ -2169,7 +2209,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3ILorg_eclipse_swt_internal_ole_w if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail; if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail; if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong *, GUID *, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jint *, GUID *, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4); fail: if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0); if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3); @@ -2187,7 +2227,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3J) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall__IJ_3J_FUNC); if (arg2) if ((lparg2 = (*env)->GetLongArrayElements(env, arg2, NULL)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong *))(*(jlong **)arg1)[arg0])(arg1, lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, jlong *))(*(jlong **)arg1)[arg0])(arg1, lparg2); fail: if (arg2 && lparg2) (*env)->ReleaseLongArrayElements(env, arg2, lparg2, 0); COM_NATIVE_EXIT(env, that, VtblCall__IJ_3J_FUNC); @@ -2203,7 +2243,7 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall_1put_1Bounds) jint rc = 0; COM_NATIVE_ENTER(env, that, VtblCall_1put_1Bounds_FUNC); if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail; - rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT))(*(jlong **)arg1)[arg0])(arg1, *lparg2); + rc = (jint)((jint (STDMETHODCALLTYPE *)(jlong, RECT))(*(jlong **)arg1)[arg0])(arg1, *lparg2); fail: if (arg2 && lparg2) setRECTFields(env, arg2, lparg2); COM_NATIVE_EXIT(env, that, VtblCall_1put_1Bounds_FUNC); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c index 4e2eff7f05..fe93cffb47 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2020 IBM Corporation and others. + * Copyright (c) 2000, 2021 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -98,6 +98,7 @@ char * COM_nativeFunctionNames[] = { "VariantClear", "VariantInit", "VtblCall__IJ", + "VtblCall__IJD", "VtblCall__IJI", "VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J", "VtblCall__IJIIJLorg_eclipse_swt_internal_win32_SIZE_2", @@ -159,6 +160,7 @@ char * COM_nativeFunctionNames[] = { "VtblCall__IJ_3CJII_3J", "VtblCall__IJ_3C_3C", "VtblCall__IJ_3C_3CJ_3C_3J", + "VtblCall__IJ_3C_3C_3C_3C_3J", "VtblCall__IJ_3C_3J", "VtblCall__IJ_3I", "VtblCall__IJ_3ILorg_eclipse_swt_internal_ole_win32_GUID_2_3J", diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h index b21f35a9d8..8f1e7e01cf 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2020 IBM Corporation and others. + * Copyright (c) 2000, 2021 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -108,6 +108,7 @@ typedef enum { VariantClear_FUNC, VariantInit_FUNC, VtblCall__IJ_FUNC, + VtblCall__IJD_FUNC, VtblCall__IJI_FUNC, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC, VtblCall__IJIIJLorg_eclipse_swt_internal_win32_SIZE_2_FUNC, @@ -169,6 +170,7 @@ typedef enum { VtblCall__IJ_3CJII_3J_FUNC, VtblCall__IJ_3C_3C_FUNC, VtblCall__IJ_3C_3CJ_3C_3J_FUNC, + VtblCall__IJ_3C_3C_3C_3C_3J_FUNC, VtblCall__IJ_3C_3J_FUNC, VtblCall__IJ_3I_FUNC, VtblCall__IJ_3ILorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC, diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java index df5a7af32a..2dd789b2f8 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java @@ -576,6 +576,8 @@ public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0); public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4); public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3); public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6); +public static final native int VtblCall(int fnNumber, long address, char[] arg0, char[] arg1, char[] arg2, char[] arg3, long[] arg4); +public static final native int VtblCall(int fnNumber, long address, double arg0); /** @param arg0 flags=struct */ public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, long arg2); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2Cookie.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2Cookie.java new file mode 100644 index 0000000000..26536a0bad --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2Cookie.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2021 Nikita Nemkin and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Nikita Nemkin <nikita@nemkin.ru> - initial implementation + *******************************************************************************/ +package org.eclipse.swt.internal.ole.win32; + +public class ICoreWebView2Cookie extends IUnknown { + +public ICoreWebView2Cookie(long address) { + super(address); +} + +public int get_Name(long[] name) { + return COM.VtblCall(3, address, name); +} + +public int get_Value(long[] value) { + return COM.VtblCall(4, address, value); +} + +public int put_Value(char[] value) { + return COM.VtblCall(5, address, value); +} + +public int put_Expires(double expires) { + return COM.VtblCall(9, address, expires); +} + +public int put_IsHttpOnly(boolean isHttpOnly) { + return COM.VtblCall(11, address, isHttpOnly ? 1 : 0); +} + +public int put_IsSecure(boolean isSecure) { + return COM.VtblCall(15, address, isSecure ? 1 : 0); +} + +public int get_IsSession(int[] isSession) { + return COM.VtblCall(16, address, isSession); +} + +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieList.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieList.java new file mode 100644 index 0000000000..cc96768f29 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieList.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2021 Nikita Nemkin and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Nikita Nemkin <nikita@nemkin.ru> - initial implementation + *******************************************************************************/ +package org.eclipse.swt.internal.ole.win32; + +public class ICoreWebView2CookieList extends IUnknown { + +public ICoreWebView2CookieList(long address) { + super(address); +} + +public int get_Count(int[] count) { + return COM.VtblCall(3, address, count); +} + +public int GetValueAtIndex(int index, long[] cookie) { + return COM.VtblCall(4, address, index, cookie); +} + +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieManager.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieManager.java new file mode 100644 index 0000000000..b37e2ab753 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2CookieManager.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2021 Nikita Nemkin and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Nikita Nemkin <nikita@nemkin.ru> - initial implementation + *******************************************************************************/ +package org.eclipse.swt.internal.ole.win32; + +public class ICoreWebView2CookieManager extends IUnknown { + +public ICoreWebView2CookieManager(long address) { + super(address); +} + +public int CreateCookie(char[] name, char[] value, char[] domain, char[] path, long[] cookie) { + return COM.VtblCall(3, address, name, value, domain, path, cookie); +} + +public int GetCookies(char[] uri, IUnknown handler) { + return COM.VtblCall(5, address, uri, handler.getAddress()); +} + +public int AddOrUpdateCookie(ICoreWebView2Cookie cookie) { + return COM.VtblCall(6, address, cookie.getAddress()); +} + +public int DeleteCookie(ICoreWebView2Cookie cookie) { + return COM.VtblCall(7, address, cookie.getAddress()); +} + +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2_2.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2_2.java index 6945ff4da5..1050bb8c66 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2_2.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/ICoreWebView2_2.java @@ -27,4 +27,8 @@ public int add_DOMContentLoaded(IUnknown handler, long[] token) { return COM.VtblCall(64, address, handler.getAddress(), token); } +public int get_CookieManager(long[] cookieManager) { + return COM.VtblCall(66, address, cookieManager); +} + } |
