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>
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 e6ddfd1..b24c29e 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 @@
* 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 22caa57..0f5dec7 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 @@
static String DataDir;
static ICoreWebView2Environment Environment;
+ static ArrayList<Edge> Instances = new ArrayList<>();
ICoreWebView2 webView;
ICoreWebView2_2 webView_2;
@@ -55,6 +58,113 @@
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 @@
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 @@
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 fbc0057..a6caa69 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 @@
{
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 @@
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 @@
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 @@
{
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 @@
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 @@
{
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
{
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 @@
{
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 @@
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 @@
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 @@
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 @@
{
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 @@
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 @@
{
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 @@
{
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
}
#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 @@
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 @@
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 @@
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 @@
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 @@
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 4e2eff7..fe93cff 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 @@
"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 @@
"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 b21f35a..8f1e7e0 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 @@
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 @@
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 df5a7af..2dd789b 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, 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 0000000..26536a0
--- /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 0000000..cc96768
--- /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 0000000..b37e2ab
--- /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 6945ff4..1050bb8 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 @@
return COM.VtblCall(64, address, handler.getAddress(), token);
}
+public int get_CookieManager(long[] cookieManager) {
+ return COM.VtblCall(66, address, cookieManager);
+}
+
}