summaryrefslogtreecommitdiffstats
path: root/bundles
diff options
context:
space:
mode:
authorGrant Gayed <ggayed>2008-12-02 16:18:45 +0000
committerGrant Gayed <ggayed>2008-12-02 16:18:45 +0000
commitbf219895eeed085ac7691759faac06580d81d416 (patch)
tree61c948abf7e8aaf3602efa829d30a48f8fa36973 /bundles
parent19c0222eaad94683f1cf6389644b40fecfc90bf6 (diff)
downloadeclipse.platform.swt-bf219895eeed085ac7691759faac06580d81d416.tar.gz
eclipse.platform.swt-bf219895eeed085ac7691759faac06580d81d416.tar.xz
eclipse.platform.swt-bf219895eeed085ac7691759faac06580d81d416.zip
156276 - Provide a way for JavaScript to call out to the Browser's container
Diffstat (limited to 'bundles')
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Safari.java118
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/BrowserFunction.java76
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/WebBrowser.java46
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/WebSite.java251
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp159
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp29
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h25
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/AppFileLocProvider.java8
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java416
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/ExternalFactory.java100
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java93
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java48
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIClassInfo.java91
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDataType.java73
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java33
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java147
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java141
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.c56
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.h5
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_custom.c27
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.c8
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.h4
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com.c1063
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.c169
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/com_stats.h165
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java80
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java50
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/SWT.java7
-rw-r--r--bundles/org.eclipse.swt/components/external.idl10
-rw-r--r--bundles/org.eclipse.swt/components/external.xptbin0 -> 183 bytes
33 files changed, 3326 insertions, 225 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Safari.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Safari.java
index 9f79ee4104..afeeae68b7 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Safari.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/carbon/org/eclipse/swt/browser/Safari.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.swt.browser;
+import java.util.Enumeration;
+
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
@@ -284,7 +286,7 @@ public void create (Composite parent, int style) {
// delegate = [[WebResourceLoadDelegate alloc] init eventProc];
delegate = Cocoa.objc_msgSend(Cocoa.C_WebKitDelegate, Cocoa.S_alloc);
delegate = Cocoa.objc_msgSend(delegate, Cocoa.S_initWithProc, callback7Address, webViewHandle);
-
+
// [webView setFrameLoadDelegate:delegate];
Cocoa.objc_msgSend(webView, Cocoa.S_setFrameLoadDelegate, delegate);
@@ -623,6 +625,8 @@ int handleCallback(int selector, int arg0, int arg1, int arg2, int arg3) {
case 30: mouseDidMoveOverElement(arg0, arg1); break;
case 31: didChangeLocationWithinPageForFrame(arg0); break;
case 32: handleEvent(arg0); break;
+ case 33: windowScriptObjectAvailable(arg0); break;
+ case 34: ret = callJava(arg0, arg1, arg2); break;
}
return ret;
}
@@ -852,6 +856,14 @@ void didFinishLoadForFrame(int frame) {
}
);
}
+
+ /* re-install registered functions */
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction function = (BrowserFunction)elements.nextElement ();
+ execute (function.functionString);
+ }
+
/*
* Feature on Safari. The identifier is used here as a marker for the events
* related to the top frame and the URL changes related to that top frame as
@@ -1067,6 +1079,17 @@ void didCommitLoadForFrame(int frame) {
}
}
+void windowScriptObjectAvailable (int windowScriptObject) {
+ String objectName = "external"; //$NON-NLS-1$
+ char[] chars = new char[objectName.length ()];
+ objectName.getChars (0, chars.length, chars, 0);
+ int str = OS.CFStringCreateWithCharacters (0, chars, chars.length);
+ if (str != 0) {
+ Cocoa.objc_msgSend (windowScriptObject, Cocoa.S_setValue, delegate, str);
+ OS.CFRelease (str);
+ }
+}
+
/* WebResourceLoadDelegate */
void didFinishLoadingFromDataSource(int identifier, int dataSource) {
@@ -1626,4 +1649,97 @@ void handleEvent(int evt) {
}
}
+/* external */
+
+Object convertToJava (int value) {
+ if (Cocoa.objc_msgSend (value, Cocoa.S_isKindOfClass, Cocoa.C_NSString) != 0) {
+ int length = Cocoa.objc_msgSend (value, Cocoa.S_length);
+ char[] buffer = new char[length];
+ Cocoa.objc_msgSend (value, Cocoa.S_getCharacters_, buffer);
+ return new String (buffer);
+ }
+ if (Cocoa.objc_msgSend (value, Cocoa.S_isKindOfClass, Cocoa.C_NSNumber) != 0) {
+ int ptr = Cocoa.objc_msgSend (value, Cocoa.S_objCType);
+ byte[] type = new byte[1];
+ OS.memmove (type, ptr, 1);
+ if (type[0] == 'c' || type[0] == 'B') {
+ int result = Cocoa.objc_msgSend (value, Cocoa.S_boolValue);
+ return new Boolean (result != 0);
+ }
+ if ("islqISLQfd".indexOf (type[0]) != -1) { //$NON-NLS-1$
+ double result = Cocoa.objc_msgSend_fpret (value, Cocoa.S_doubleValue);
+ return new Double (result);
+ }
+ }
+ if (Cocoa.objc_msgSend (value, Cocoa.S_isKindOfClass, Cocoa.C_WebScriptObject) != 0) {
+ String string = "length"; //$NON-NLS-1$
+ char[] chars = new char[string.length ()];
+ string.getChars (0, chars.length, chars, 0);
+ int str = OS.CFStringCreateWithCharacters (0, chars, chars.length);
+ int numberValue = Cocoa.objc_msgSend (value, Cocoa.S_valueForKey, str);
+ OS.CFRelease (str);
+ int length = Cocoa.objc_msgSend (numberValue, Cocoa.S_intValue);
+ Object[] arguments = new Object[length];
+ for (int i = 0; i < length; i++) {
+ int current = Cocoa.objc_msgSend (value, Cocoa.S_webScriptValueAtIndex, i);
+ if (current != 0) {
+ arguments[i] = convertToJava (current);
+ }
+ }
+ return arguments;
+ }
+ return null;
+}
+
+int convertToJS (Object value) {
+ if (value instanceof String) {
+ String result = (String)value;
+ char[] chars = new char[result.length ()];
+ result.getChars (0, chars.length, chars, 0);
+ return OS.CFStringCreateWithCharacters (0, chars, chars.length);
+ }
+ if (value instanceof Boolean) {
+ int booleanValue = ((Boolean)value).booleanValue () ? 1 : 0;
+ return Cocoa.objc_msgSend (Cocoa.C_NSNumber, Cocoa.S_numberWithBool, booleanValue);
+ }
+ if (value instanceof Number) {
+ double doubleValue = ((Number)value).doubleValue ();
+ return Cocoa.objc_msgSend (Cocoa.C_NSNumber, Cocoa.S_numberWithDouble, doubleValue);
+ }
+ if (value instanceof Object[]) {
+ Object[] arrayValue = (Object[])value;
+ int length = arrayValue.length;
+ if (length > 0) {
+ int array = Cocoa.objc_msgSend (Cocoa.C_NSMutableArray, Cocoa.S_arrayWithCapacity, length);
+ for (int i = 0; i < length; i++) {
+ Object currentObject = arrayValue[i];
+ int jsObject = convertToJS (currentObject);
+ Cocoa.objc_msgSend (array, Cocoa.S_addObject, jsObject);
+ }
+ return array;
+ }
+ }
+ return Cocoa.objc_msgSend (Cocoa.C_WebUndefined, Cocoa.S_undefined);
+}
+
+int /*long*/ callJava (int /*long*/ index, int /*long*/ args, int /*long*/ arg1) {
+ Object returnValue = null;
+ if (Cocoa.objc_msgSend (index, Cocoa.S_isKindOfClass, Cocoa.C_NSNumber) != 0) {
+ Object temp = convertToJava (args);
+ if (temp instanceof Object[]) {
+ Object[] arguments = (Object[])temp;
+ int functionIndex = Cocoa.objc_msgSend (index, Cocoa.S_intValue);
+ Object key = new Integer (functionIndex);
+ BrowserFunction function = (BrowserFunction)functions.get (key);
+ if (function != null) {
+ try {
+ returnValue = function.function (arguments);
+ } catch (Exception e) {
+ returnValue = ERROR_ID + ':' + e.getLocalizedMessage ();
+ }
+ }
+ }
+ }
+ return convertToJS (returnValue);
+}
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/BrowserFunction.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/BrowserFunction.java
new file mode 100644
index 0000000000..079f3762e9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/BrowserFunction.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.browser;
+
+import org.eclipse.swt.SWT;
+
+/**
+ * @since 3.5
+ */
+public class BrowserFunction {
+ Browser browser;
+ String name;
+ String functionString;
+ int index;
+
+/**
+ *
+ */
+public BrowserFunction (Browser browser, String name) {
+ super ();
+ if (browser == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
+ if (name == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
+ this.browser = browser;
+ this.name = name;
+ browser.webBrowser.addFunction (this);
+}
+
+/**
+*
+*/
+public void dispose () {
+ if (index < 0) return;
+ browser.webBrowser.removeFunction (this);
+ browser = null;
+ name = functionString = null;
+ index = -1;
+}
+
+/**
+*
+*/
+public Object function (Object[] arguments) {
+ return null;
+}
+
+/**
+*
+*/
+public Browser getBrowser () {
+ if (index < 0) SWT.error (SWT.ERROR_FUNCTION_DISPOSED);
+ return browser;
+}
+
+/**
+*
+*/
+public String getName () {
+ if (index < 0) SWT.error (SWT.ERROR_FUNCTION_DISPOSED);
+ return name;
+}
+
+/**
+*
+*/
+public boolean isDisposed () {
+ return index < 0;
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/WebBrowser.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/WebBrowser.java
index b304096087..918117a981 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/WebBrowser.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/common/org/eclipse/swt/browser/WebBrowser.java
@@ -10,11 +10,14 @@
*******************************************************************************/
package org.eclipse.swt.browser;
+import java.util.*;
+
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
abstract class WebBrowser {
Browser browser;
+ Hashtable functions = new Hashtable ();
CloseWindowListener[] closeWindowListeners = new CloseWindowListener[0];
LocationListener[] locationListeners = new LocationListener[0];
OpenWindowListener[] openWindowListeners = new OpenWindowListener[0];
@@ -22,7 +25,9 @@ abstract class WebBrowser {
StatusTextListener[] statusTextListeners = new StatusTextListener[0];
TitleListener[] titleListeners = new TitleListener[0];
VisibilityWindowListener[] visibilityWindowListeners = new VisibilityWindowListener[0];
+ int nextFunctionIndex = 1;
+ static final String ERROR_ID = "org.eclipse.swt.browser.error"; // $NON-NLS-1$
static Runnable MozillaClearSessions;
static Runnable NativeClearSessions;
@@ -169,6 +174,38 @@ public void addCloseWindowListener (CloseWindowListener listener) {
closeWindowListeners[closeWindowListeners.length - 1] = listener;
}
+public void addFunction (BrowserFunction function) {
+ /*
+ * If an existing function with the same name is found then
+ * remove it so that it is not recreated on subsequent pages
+ * (the new function overwrites the old one).
+ */
+ Enumeration keys = functions.keys ();
+ while (keys.hasMoreElements ()) {
+ Object key = keys.nextElement ();
+ BrowserFunction current = (BrowserFunction)functions.get (key);
+ if (current.name.equals (function.name)) {
+ functions.remove (key);
+ break;
+ }
+ }
+
+ function.index = getNextFunctionIndex ();
+ functions.put (new Integer (function.index), function);
+
+ StringBuffer buffer = new StringBuffer ("function ");
+ buffer.append (function.name);
+ buffer.append ("() {var result = window.external.callJava(");
+ buffer.append (function.index);
+ buffer.append (",Array.prototype.slice.call(arguments)); if (typeof result == 'string' && result.indexOf('");
+ buffer.append (ERROR_ID);
+ buffer.append ("') == 0) {var error = new Error(result.substring(");
+ buffer.append (ERROR_ID.length () + 1);
+ buffer.append (")); throw error;} return result;}");
+ function.functionString = buffer.toString ();
+ execute (function.functionString);
+}
+
public void addLocationListener (LocationListener listener) {
LocationListener[] newLocationListeners = new LocationListener[locationListeners.length + 1];
System.arraycopy(locationListeners, 0, newLocationListeners, 0, locationListeners.length);
@@ -226,6 +263,10 @@ public abstract boolean forward ();
public abstract String getBrowserType ();
+int getNextFunctionIndex () {
+ return nextFunctionIndex++;
+}
+
public abstract String getText ();
public abstract String getUrl ();
@@ -264,6 +305,11 @@ public void removeCloseWindowListener (CloseWindowListener listener) {
closeWindowListeners = newCloseWindowListeners;
}
+public void removeFunction (BrowserFunction function) {
+ execute ("window." + function.name + "=undefined;");
+ functions.remove (new Integer (function.index));
+}
+
public void removeLocationListener (LocationListener listener) {
if (locationListeners.length == 0) return;
int index = -1;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java
index e127d2e0d6..e89be91f59 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java
@@ -10,8 +10,11 @@
*******************************************************************************/
package org.eclipse.swt.browser;
+import java.util.*;
+
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
+import org.eclipse.swt.internal.*;
import org.eclipse.swt.internal.ole.win32.*;
import org.eclipse.swt.internal.win32.*;
import org.eclipse.swt.ole.win32.*;
@@ -447,6 +450,14 @@ public void create(Composite parent, int style) {
if (globalDispatch != 0 && dispatch.getAddress() == globalDispatch) {
/* final document complete */
globalDispatch = 0;
+
+ /* re-install registered functions */
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction function = (BrowserFunction)elements.nextElement ();
+ execute (function.functionString);
+ }
+
ProgressEvent progressEvent = new ProgressEvent(browser);
progressEvent.display = browser.getDisplay();
progressEvent.widget = browser;
@@ -556,7 +567,12 @@ public void create(Composite parent, int style) {
*/
int[] rgdispid = auto.getIDsOfNames(new String[] { "AddressBar" }); //$NON-NLS-1$
Variant pVarResult = auto.getProperty(rgdispid[0]);
- if (pVarResult != null && pVarResult.getType() == OLE.VT_BOOL) addressBar = pVarResult.getBoolean();
+ if (pVarResult != null) {
+ if (pVarResult.getType () == OLE.VT_BOOL) {
+ addressBar = pVarResult.getBoolean ();
+ }
+ pVarResult.dispose ();
+ }
}
newEvent.addressBar = addressBar;
newEvent.menuBar = menuBar;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/WebSite.java b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/WebSite.java
index 341180544b..b8706619d2 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/WebSite.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Browser/win32/org/eclipse/swt/browser/WebSite.java
@@ -23,6 +23,7 @@ class WebSite extends OleControlSite {
COMObject iServiceProvider;
COMObject iInternetSecurityManager;
COMObject iOleCommandTarget;
+ COMObject iDispatch;
boolean ignoreNextMessage;
static final int OLECMDID_SHOWSCRIPTERROR = 40;
@@ -94,6 +95,29 @@ protected void createCOMInterfaces () {
public int /*long*/ method3(int /*long*/[] args) {return QueryStatus(args[0], (int)/*64*/args[1], args[2], args[3]);}
public int /*long*/ method4(int /*long*/[] args) {return Exec(args[0], (int)/*64*/args[1], (int)/*64*/args[2], args[3], args[4]);}
};
+ iDispatch = new COMObject (new int[] {2, 0, 0, 1, 3, 5, 8}) {
+ public int /*long*/ method0 (int /*long*/[] args) {
+ /*
+ * IDispatch check must be done here instead of in the shared QueryInterface
+ * implementation, to avoid answering the superclass's IDispatch implementation
+ * instead of this one.
+ */
+ GUID guid = new GUID ();
+ COM.MoveMemory (guid, args[0], GUID.sizeof);
+ if (COM.IsEqualGUID (guid, COM.IIDIDispatch)) {
+ COM.MoveMemory (args[1], new int /*long*/[] {iDispatch.getAddress ()}, OS.PTR_SIZEOF);
+ AddRef ();
+ return COM.S_OK;
+ }
+ return QueryInterface (args[0], args[1]);
+ }
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ public int /*long*/ method3 (int /*long*/[] args) {return GetTypeInfoCount (args[0]);}
+ public int /*long*/ method4 (int /*long*/[] args) {return GetTypeInfo ((int)/*64*/args[0], (int)/*64*/args[1], args[2]);}
+ public int /*long*/ method5 (int /*long*/[] args) {return GetIDsOfNames ((int)/*64*/args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], args[4]);}
+ public int /*long*/ method6 (int /*long*/[] args) {return Invoke ((int)/*64*/args[0], (int)/*64*/args[1], (int)/*64*/args[2], (int)/*64*/args[3], args[4], args[5], args[6], args[7]);}
+ };
}
protected void disposeCOMInterfaces() {
@@ -118,6 +142,10 @@ protected void disposeCOMInterfaces() {
iOleCommandTarget.dispose();
iOleCommandTarget = null;
}
+ if (iDispatch != null) {
+ iDispatch.dispose ();
+ iDispatch = null;
+ }
}
protected int AddRef() {
@@ -175,8 +203,9 @@ int GetDropTarget(int /*long*/ pDropTarget, int /*long*/ ppDropTarget) {
}
int GetExternal(int /*long*/ ppDispatch) {
- OS.MoveMemory(ppDispatch, new int /*long*/ [] {0}, OS.PTR_SIZEOF);
- return COM.S_FALSE;
+ OS.MoveMemory (ppDispatch, new int /*long*/[] {iDispatch.getAddress()}, C.PTR_SIZEOF);
+ AddRef ();
+ return COM.S_OK;
}
int GetHostInfo(int /*long*/ pInfo) {
@@ -548,4 +577,222 @@ int Exec(int /*long*/ pguidCmdGroup, int nCmdID, int nCmdExecOpt, int /*long*/ p
return COM.E_NOTSUPPORTED;
}
+/* IDispatch */
+
+int GetTypeInfoCount (int /*long*/ pctinfo) {
+ C.memmove (pctinfo, new int[] {0}, 4);
+ return COM.S_OK;
+}
+
+int GetTypeInfo (int iTInfo, int lcid, int /*long*/ ppTInfo) {
+ return COM.S_OK;
+}
+
+int GetIDsOfNames (int riid, int /*long*/ rgszNames, int cNames, int lcid, int /*long*/ rgDispId) {
+ int /*long*/[] ptr = new int /*long*/[1];
+ OS.MoveMemory (ptr, rgszNames, C.PTR_SIZEOF);
+ int length = OS.wcslen (ptr[0]);
+ char[] buffer = new char[length];
+ OS.MoveMemory (buffer, ptr[0], length * 2);
+ String functionName = String.valueOf (buffer);
+ int result = COM.S_OK;
+ int[] ids = new int[cNames]; /* DISPIDs */
+ if (functionName.equals ("callJava")) { //$NON-NLS-1$
+ for (int i = 0; i < cNames; i++) {
+ ids[i] = i + 1;
+ }
+ } else {
+ result = COM.DISP_E_UNKNOWNNAME;
+ for (int i = 0; i < cNames; i++) {
+ ids[i] = COM.DISPID_UNKNOWN;
+ }
+ }
+ OS.MoveMemory (rgDispId, ids, cNames * 4);
+ return result;
+}
+
+int Invoke (int dispIdMember, int /*long*/ riid, int lcid, int dwFlags, int /*long*/ pDispParams, int /*long*/ pVarResult, int /*long*/ pExcepInfo, int /*long*/ pArgErr) {
+ DISPPARAMS dispParams = new DISPPARAMS ();
+ COM.MoveMemory (dispParams, pDispParams, DISPPARAMS.sizeof);
+ if (dispParams.cArgs != 2) {
+ if (pVarResult != 0) {
+ COM.MoveMemory (pVarResult, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ }
+ return COM.S_OK;
+ }
+
+ int /*long*/ ptr = dispParams.rgvarg + Variant.sizeof;
+ Variant variant = Variant.win32_new (ptr);
+ int index = variant.getInt ();
+ variant.dispose ();
+ if (index <= 0) {
+ if (pVarResult != 0) {
+ COM.MoveMemory (pVarResult, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ }
+ return COM.S_OK;
+ }
+
+ variant = Variant.win32_new (dispParams.rgvarg);
+ Object temp = (Object[])convertToJava (variant);
+ variant.dispose ();
+ Object returnValue = null;
+ if (temp instanceof Object[]) {
+ Object[] args = (Object[])temp;
+ IE ie = (IE)((Browser)getParent ().getParent ()).webBrowser;
+ Object key = new Integer (index);
+ BrowserFunction function = (BrowserFunction)ie.functions.get (key);
+ if (function != null) {
+ try {
+ returnValue = function.function (args);
+ } catch (Exception e) {
+ returnValue = IE.ERROR_ID + ':' + e.getLocalizedMessage ();
+ }
+ }
+ }
+
+ if (pVarResult != 0) {
+ if (returnValue == null) {
+ COM.MoveMemory (pVarResult, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ } else {
+ variant = convertToJS (returnValue);
+ Variant.win32_copy (pVarResult, variant);
+ variant.dispose ();
+ }
+ }
+ return COM.S_OK;
+}
+
+Object convertToJava (Variant variant) {
+ switch (variant.getType ()) {
+ case OLE.VT_NULL: return null;
+ case OLE.VT_BSTR: return variant.getString ();
+ case OLE.VT_BOOL: return new Boolean (variant.getBoolean ());
+ case OLE.VT_I2:
+ case OLE.VT_I4:
+ case OLE.VT_I8:
+ case OLE.VT_R4:
+ case OLE.VT_R8:
+ return new Double (variant.getDouble ());
+ case OLE.VT_DISPATCH: {
+ Object[] args = null;
+ OleAutomation auto = variant.getAutomation ();
+ TYPEATTR typeattr = auto.getTypeInfoAttributes ();
+ if (typeattr != null) {
+ GUID guid = new GUID ();
+ guid.Data1 = typeattr.guid_Data1;
+ guid.Data2 = typeattr.guid_Data2;
+ guid.Data3 = typeattr.guid_Data3;
+ guid.Data4 = typeattr.guid_Data4;
+ if (COM.IsEqualGUID (guid, COM.IIDIJScriptTypeInfo)) {
+ int[] rgdispid = auto.getIDsOfNames (new String[] {"length"}); //$NON-NLS-1$
+ if (rgdispid != null) {
+ Variant varLength = auto.getProperty (rgdispid[0]);
+ int length = varLength.getInt ();
+ varLength.dispose ();
+ args = new Object[length];
+ for (int i = 0; i < length; i++) {
+ rgdispid = auto.getIDsOfNames (new String[] {String.valueOf (i)});
+ if (rgdispid != null) {
+ Variant current = auto.getProperty (rgdispid[0]);
+ args[i] = convertToJava (current);
+ current.dispose ();
+ }
+ }
+ }
+ }
+ }
+ auto.dispose ();
+ return args;
+ }
+ }
+ return null;
+}
+
+Variant convertToJS (Object value) {
+ if (value instanceof String) {
+ return new Variant ((String)value);
+ }
+ if (value instanceof Boolean) {
+ return new Variant (((Boolean)value).booleanValue ());
+ }
+ if (value instanceof Number) {
+ return new Variant (((Number)value).doubleValue ());
+ }
+ if (value instanceof Object[]) {
+ Object[] arrayValue = (Object[])value;
+ int length = arrayValue.length;
+ if (length > 0) {
+ /* get IHTMLDocument2 */
+ IE browser = (IE)((Browser)getParent ().getParent ()).webBrowser;
+ OleAutomation auto = browser.auto;
+ int[] rgdispid = auto.getIDsOfNames (new String[] {"Document"}); //$NON-NLS-1$
+ if (rgdispid == null) return new Variant ();
+ Variant pVarResult = auto.getProperty (rgdispid[0]);
+ if (pVarResult == null) return new Variant ();
+ if (pVarResult.getType () == COM.VT_EMPTY) {
+ pVarResult.dispose ();
+ return new Variant ();
+ }
+ OleAutomation document = pVarResult.getAutomation ();
+ pVarResult.dispose ();
+
+ /* get IHTMLWindow2 */
+ rgdispid = document.getIDsOfNames (new String[] {"parentWindow"}); //$NON-NLS-1$
+ if (rgdispid == null) {
+ document.dispose ();
+ return new Variant ();
+ }
+ pVarResult = document.getProperty (rgdispid[0]);
+ if (pVarResult == null || pVarResult.getType () == COM.VT_EMPTY) {
+ if (pVarResult != null) pVarResult.dispose ();
+ document.dispose ();
+ return new Variant ();
+ }
+ OleAutomation ihtmlWindow2 = pVarResult.getAutomation ();
+ pVarResult.dispose ();
+ document.dispose ();
+
+ /* create a new JS array to be returned */
+ rgdispid = ihtmlWindow2.getIDsOfNames (new String[] {"Array"}); //$NON-NLS-1$
+ if (rgdispid == null) {
+ ihtmlWindow2.dispose ();
+ return new Variant ();
+ }
+ Variant arrayType = ihtmlWindow2.getProperty (rgdispid[0]);
+ ihtmlWindow2.dispose ();
+ IDispatch arrayTypeDispatch = arrayType.getDispatch ();
+ arrayType.dispose ();
+
+ int /*long*/[] result = new int /*long*/[1];
+ int rc = arrayTypeDispatch.QueryInterface (COM.IIDIDispatchEx, result);
+ if (rc != COM.S_OK) return new Variant ();
+ IDispatchEx arrayTypeDispatchEx = new IDispatchEx (result[0]);
+ result[0] = 0;
+ int /*long*/ resultPtr = OS.GlobalAlloc (OS.GMEM_FIXED | OS.GMEM_ZEROINIT, VARIANT.sizeof);
+ DISPPARAMS params = new DISPPARAMS ();
+ rc = arrayTypeDispatchEx.InvokeEx (COM.DISPID_VALUE, COM.LOCALE_USER_DEFAULT, COM.DISPATCH_CONSTRUCT, params, resultPtr, null, 0);
+ if (rc != COM.S_OK) {
+ OS.GlobalFree (resultPtr);
+ return new Variant ();
+ }
+ Variant array = Variant.win32_new (resultPtr);
+ OS.GlobalFree (resultPtr);
+
+ /* populate the array */
+ auto = array.getAutomation ();
+ int[] rgdispids = auto.getIDsOfNames (new String[] {"push"}); //$NON-NLS-1$
+ if (rgdispids != null) {
+ for (int i = 0; i < length; i++) {
+ Object currentObject = arrayValue[i];
+ Variant variant = convertToJS (currentObject);
+ auto.invoke (rgdispids[0], new Variant[] {variant});
+ variant.dispose ();
+ }
+ }
+ return array;
+ }
+ }
+ return new Variant ();
+}
+
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
index 67de0a8ff1..c851a95c79 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom.cpp
@@ -124,6 +124,31 @@ JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJ)(JNIEnv *env, jclass that, ji
}
#endif
+#if (!defined(NO__1VtblCall__IID) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJD) && defined(JNI64))
+#ifndef JNI64
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IID)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jdouble arg2);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IID)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jdouble arg2)
+#else
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJD)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jdouble arg2);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJD)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jdouble arg2)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IID_FUNC);
+#else
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IJD_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jdouble))(*(jintLong **)arg1)[arg0])(arg1, arg2);
+#ifndef JNI64
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IID_FUNC);
+#else
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IJD_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO__1VtblCall__IIF) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJF) && defined(JNI64))
#ifndef JNI64
extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IIF)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jfloat arg2);
@@ -1505,6 +1530,38 @@ fail:
}
#endif
+#if (!defined(NO__1VtblCall__III_3C_3I) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJI_3C_3I) && defined(JNI64))
+#ifndef JNI64
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__III_3C_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jcharArray arg3, jintArray arg4);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__III_3C_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jcharArray arg3, jintArray arg4)
+#else
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJI_3C_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jcharArray arg3, jintArray arg4);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJI_3C_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jcharArray arg3, jintArray arg4)
+#endif
+{
+ jchar *lparg3=NULL;
+ jint *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__III_3C_3I_FUNC);
+#else
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IJI_3C_3I_FUNC);
+#endif
+ if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jchar *, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
+ if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
+#ifndef JNI64
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__III_3C_3I_FUNC);
+#else
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IJI_3C_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO__1VtblCall__III_3I) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJI_3I) && defined(JNI64))
#ifndef JNI64
extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__III_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintArray arg3);
@@ -2923,6 +2980,38 @@ fail:
}
#endif
+#if (!defined(NO__1VtblCall__IIJ_3C_3J) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJJ_3C_3J) && defined(JNI64))
+#ifndef JNI64
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IIJ_3C_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jcharArray arg3, jlongArray arg4);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IIJ_3C_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jcharArray arg3, jlongArray arg4)
+#else
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJJ_3C_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jcharArray arg3, jlongArray arg4);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJJ_3C_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jcharArray arg3, jlongArray arg4)
+#endif
+{
+ jchar *lparg3=NULL;
+ jlong *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IIJ_3C_3J_FUNC);
+#else
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IJJ_3C_3J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = env->GetCharArrayElements(arg3, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = env->GetLongArrayElements(arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jchar *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) env->ReleaseLongArrayElements(arg4, lparg4, 0);
+ if (arg3 && lparg3) env->ReleaseCharArrayElements(arg3, lparg3, 0);
+#ifndef JNI64
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IIJ_3C_3J_FUNC);
+#else
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IJJ_3C_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO__1VtblCall__IIJ_3I) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJJ_3I) && defined(JNI64))
#ifndef JNI64
extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IIJ_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jintArray arg3);
@@ -4778,6 +4867,76 @@ fail:
}
#endif
+#if (!defined(NO__1VtblCall__II_3SI_3I_3I) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJ_3SI_3I_3I) && defined(JNI64))
+#ifndef JNI64
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__II_3SI_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jint arg3, jintArray arg4, jintArray arg5);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__II_3SI_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jint arg3, jintArray arg4, jintArray arg5)
+#else
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJ_3SI_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jint arg3, jintArray arg4, jintArray arg5);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJ_3SI_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jint arg3, jintArray arg4, jintArray arg5)
+#endif
+{
+ jshort *lparg2=NULL;
+ jint *lparg4=NULL;
+ jint *lparg5=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__II_3SI_3I_3I_FUNC);
+#else
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IJ_3SI_3I_3I_FUNC);
+#endif
+ if (arg2) if ((lparg2 = env->GetShortArrayElements(arg2, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
+ if (arg5) if ((lparg5 = env->GetIntArrayElements(arg5, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jshort *, jint, jint *, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
+fail:
+ if (arg5 && lparg5) env->ReleaseIntArrayElements(arg5, lparg5, 0);
+ if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
+ if (arg2 && lparg2) env->ReleaseShortArrayElements(arg2, lparg2, 0);
+#ifndef JNI64
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__II_3SI_3I_3I_FUNC);
+#else
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IJ_3SI_3I_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO__1VtblCall__II_3SJ_3I_3J) && !defined(JNI64)) || (!defined(NO__1VtblCall__IJ_3SJ_3I_3J) && defined(JNI64))
+#ifndef JNI64
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__II_3SJ_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jlong arg3, jintArray arg4, jlongArray arg5);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__II_3SJ_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jlong arg3, jintArray arg4, jlongArray arg5)
+#else
+extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJ_3SJ_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jlong arg3, jintArray arg4, jlongArray arg5);
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1VtblCall__IJ_3SJ_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jshortArray arg2, jlong arg3, jintArray arg4, jlongArray arg5)
+#endif
+{
+ jshort *lparg2=NULL;
+ jint *lparg4=NULL;
+ jlong *lparg5=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__II_3SJ_3I_3J_FUNC);
+#else
+ XPCOM_NATIVE_ENTER(env, that, _1VtblCall__IJ_3SJ_3I_3J_FUNC);
+#endif
+ if (arg2) if ((lparg2 = env->GetShortArrayElements(arg2, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = env->GetIntArrayElements(arg4, NULL)) == NULL) goto fail;
+ if (arg5) if ((lparg5 = env->GetLongArrayElements(arg5, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jshort *, jlong, jint *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, lparg4, lparg5);
+fail:
+ if (arg5 && lparg5) env->ReleaseLongArrayElements(arg5, lparg5, 0);
+ if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0);
+ if (arg2 && lparg2) env->ReleaseShortArrayElements(arg2, lparg2, 0);
+#ifndef JNI64
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__II_3SJ_3I_3J_FUNC);
+#else
+ XPCOM_NATIVE_EXIT(env, that, _1VtblCall__IJ_3SJ_3I_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#ifndef NO__1XPCOMGlueShutdown
extern "C" JNIEXPORT jint JNICALL XPCOM_NATIVE(_1XPCOMGlueShutdown)(JNIEnv *env, jclass that);
JNIEXPORT jint JNICALL XPCOM_NATIVE(_1XPCOMGlueShutdown)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
index 3ddd6961bb..73ce571b4c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.cpp
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int XPCOM_nativeFunctionCount = 170;
-int XPCOM_nativeFunctionCallCount[170];
+int XPCOM_nativeFunctionCount = 175;
+int XPCOM_nativeFunctionCallCount[175];
char * XPCOM_nativeFunctionNames[] = {
"_1Call",
"_1NS_1GetComponentManager",
@@ -28,6 +28,11 @@ char * XPCOM_nativeFunctionNames[] = {
"_1VtblCall__IJ",
#endif
#ifndef JNI64
+ "_1VtblCall__IID",
+#else
+ "_1VtblCall__IJD",
+#endif
+#ifndef JNI64
"_1VtblCall__IIF",
#else
"_1VtblCall__IJF",
@@ -248,6 +253,11 @@ char * XPCOM_nativeFunctionNames[] = {
"_1VtblCall__IJI_3C_3C_3I_3I_3C_3I_3I",
#endif
#ifndef JNI64
+ "_1VtblCall__III_3C_3I",
+#else
+ "_1VtblCall__IJI_3C_3I",
+#endif
+#ifndef JNI64
"_1VtblCall__III_3I",
#else
"_1VtblCall__IJI_3I",
@@ -473,6 +483,11 @@ char * XPCOM_nativeFunctionNames[] = {
"_1VtblCall__IJJ_3C_3C_3J_3J_3C_3I_3I",
#endif
#ifndef JNI64
+ "_1VtblCall__IIJ_3C_3J",
+#else
+ "_1VtblCall__IJJ_3C_3J",
+#endif
+#ifndef JNI64
"_1VtblCall__IIJ_3I",
#else
"_1VtblCall__IJJ_3I",
@@ -752,6 +767,16 @@ char * XPCOM_nativeFunctionNames[] = {
#else
"_1VtblCall__IJ_3S",
#endif
+#ifndef JNI64
+ "_1VtblCall__II_3SI_3I_3I",
+#else
+ "_1VtblCall__IJ_3SI_3I_3I",
+#endif
+#ifndef JNI64
+ "_1VtblCall__II_3SJ_3I_3J",
+#else
+ "_1VtblCall__IJ_3SJ_3I_3J",
+#endif
"_1XPCOMGlueShutdown",
"_1XPCOMGlueStartup",
"_1nsEmbedCString_1Length",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
index 42ba6af71e..25abbda43a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/library/xpcom_stats.h
@@ -36,6 +36,11 @@ typedef enum {
_1VtblCall__IJ_FUNC,
#endif
#ifndef JNI64
+ _1VtblCall__IID_FUNC,
+#else
+ _1VtblCall__IJD_FUNC,
+#endif
+#ifndef JNI64
_1VtblCall__IIF_FUNC,
#else
_1VtblCall__IJF_FUNC,
@@ -256,6 +261,11 @@ typedef enum {
_1VtblCall__IJI_3C_3C_3I_3I_3C_3I_3I_FUNC,
#endif
#ifndef JNI64
+ _1VtblCall__III_3C_3I_FUNC,
+#else
+ _1VtblCall__IJI_3C_3I_FUNC,
+#endif
+#ifndef JNI64
_1VtblCall__III_3I_FUNC,
#else
_1VtblCall__IJI_3I_FUNC,
@@ -481,6 +491,11 @@ typedef enum {
_1VtblCall__IJJ_3C_3C_3J_3J_3C_3I_3I_FUNC,
#endif
#ifndef JNI64
+ _1VtblCall__IIJ_3C_3J_FUNC,
+#else
+ _1VtblCall__IJJ_3C_3J_FUNC,
+#endif
+#ifndef JNI64
_1VtblCall__IIJ_3I_FUNC,
#else
_1VtblCall__IJJ_3I_FUNC,
@@ -760,6 +775,16 @@ typedef enum {
#else
_1VtblCall__IJ_3S_FUNC,
#endif
+#ifndef JNI64
+ _1VtblCall__II_3SI_3I_3I_FUNC,
+#else
+ _1VtblCall__IJ_3SI_3I_3I_FUNC,
+#endif
+#ifndef JNI64
+ _1VtblCall__II_3SJ_3I_3J_FUNC,
+#else
+ _1VtblCall__IJ_3SJ_3I_3J_FUNC,
+#endif
_1XPCOMGlueShutdown_FUNC,
_1XPCOMGlueStartup_FUNC,
_1nsEmbedCString_1Length_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/AppFileLocProvider.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/AppFileLocProvider.java
index e609b5aa4b..db72e34132 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/AppFileLocProvider.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/AppFileLocProvider.java
@@ -20,7 +20,7 @@ class AppFileLocProvider {
XPCOMObject directoryServiceProvider;
XPCOMObject directoryServiceProvider2;
int refCount = 0;
- String mozillaPath, profilePath;
+ String mozillaPath, profilePath, componentsPath;
String[] pluginDirs;
boolean isXULRunner;
@@ -118,6 +118,10 @@ int Release () {
return refCount;
}
+void setComponentsPath (String path) {
+ componentsPath = path;
+}
+
void setProfilePath (String path) {
profilePath = path;
if (!Compatibility.fileExists (path, "")) { //$NON-NLS-1$
@@ -270,7 +274,7 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
} else if (propertyName.equals (XPCOM.NS_OS_CURRENT_PROCESS_DIR)) {
propertyValue = mozillaPath;
} else if (propertyName.equals (XPCOM.NS_XPCOM_COMPONENT_DIR)) {
- propertyValue = mozillaPath + COMPONENTS_DIR;
+ propertyValue = componentsPath != null ? componentsPath : mozillaPath + COMPONENTS_DIR;
} else if (propertyName.equals (XPCOM.NS_XPCOM_CURRENT_PROCESS_DIR)) {
propertyValue = mozillaPath;
} else if (propertyName.equals (XPCOM.NS_APP_PREF_DEFAULTS_50_DIR)) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java
new file mode 100644
index 0000000000..59ea114fd9
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/External.java
@@ -0,0 +1,416 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.browser;
+
+import org.eclipse.swt.internal.*;
+import org.eclipse.swt.internal.mozilla.*;
+import org.eclipse.swt.internal.win32.OS;
+
+/**
+ */
+class External {
+ public static final String EXTERNAL_IID_STR =
+ "ded01d20-ba6f-11dd-ad8b-0800200c9a66"; //$NON-NLS-1$
+
+ public static final nsID EXTERNAL_IID =
+ new nsID(EXTERNAL_IID_STR);
+
+ XPCOMObject supports;
+ XPCOMObject external;
+ XPCOMObject classInfo;
+ XPCOMObject securityCheckedComponent;
+ int refCount = 0;
+
+External () {
+ createCOMInterfaces ();
+}
+
+int AddRef () {
+ refCount++;
+ return refCount;
+}
+
+void createCOMInterfaces () {
+ /* Create each of the interfaces that this object implements */
+ supports = new XPCOMObject (new int[] {2, 0, 0}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ };
+
+ classInfo = new XPCOMObject (new int[] {2, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ public int /*long*/ method3 (int /*long*/[] args) {return getInterfaces (args[0], args[1]);}
+ public int /*long*/ method4 (int /*long*/[] args) {return getHelperForLanguage ((int)/*64*/args[0], args[1]);}
+ public int /*long*/ method5 (int /*long*/[] args) {return getContractID (args[0]);}
+ public int /*long*/ method6 (int /*long*/[] args) {return getClassDescription (args[0]);}
+ public int /*long*/ method7 (int /*long*/[] args) {return getClassID (args[0]);}
+ public int /*long*/ method8 (int /*long*/[] args) {return getImplementationLanguage (args[0]);}
+ public int /*long*/ method9 (int /*long*/[] args) {return getFlags (args[0]);}
+ public int /*long*/ method10 (int /*long*/[] args) {return getClassIDNoAlloc (args[0]);}
+ };
+
+ securityCheckedComponent = new XPCOMObject (new int[] {2, 0, 0, 2, 3, 3, 3}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ public int /*long*/ method3 (int /*long*/[] args) {return canCreateWrapper (args[0], args[1]);}
+ public int /*long*/ method4 (int /*long*/[] args) {return canCallMethod (args[0], args[1], args[2]);}
+ public int /*long*/ method5 (int /*long*/[] args) {return canGetProperty (args[0], args[1], args[2]);}
+ public int /*long*/ method6 (int /*long*/[] args) {return canSetProperty (args[0], args[1], args[2]);}
+ };
+
+ external = new XPCOMObject (new int[] {2, 0, 0, 3}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ public int /*long*/ method3 (int /*long*/[] args) {return callJava ((int)/*64*/args[0], args[1], args[2]);}
+ };
+
+}
+
+void disposeCOMInterfaces () {
+ if (supports != null) {
+ supports.dispose ();
+ supports = null;
+ }
+ if (external != null) {
+ external.dispose ();
+ external = null;
+ }
+}
+
+int /*long*/ getAddress () {
+ return external.getAddress ();
+}
+
+int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
+ if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ nsID guid = new nsID ();
+ XPCOM.memmove (guid, riid, nsID.sizeof);
+
+ if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+ if (guid.Equals (nsIClassInfo.NS_ICLASSINFO_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {classInfo.getAddress ()}, C.PTR_SIZEOF);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+ if (guid.Equals (nsISecurityCheckedComponent.NS_ISECURITYCHECKEDCOMPONENT_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {securityCheckedComponent.getAddress ()}, C.PTR_SIZEOF);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+ if (guid.Equals (EXTERNAL_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {external.getAddress ()}, C.PTR_SIZEOF);
+ AddRef();
+ return XPCOM.NS_OK;
+ }
+
+ XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ return XPCOM.NS_ERROR_NO_INTERFACE;
+}
+
+int Release () {
+ refCount--;
+ if (refCount == 0) disposeCOMInterfaces ();
+ return refCount;
+}
+
+/* nsIClassInfo */
+
+int getClassDescription (int /*long*/ _retValue) {
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
+ int /*long*/ ptr = C.malloc (bytes.length);
+ C.memmove (ptr, bytes, bytes.length);
+ C.memmove (_retValue, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int getClassID (int /*long*/ _retValue) {
+ return XPCOM.NS_OK;
+}
+
+int getClassIDNoAlloc (int /*long*/ _retValue) {
+ return XPCOM.NS_OK;
+}
+
+int getContractID (int /*long*/ _retValue) {
+ return XPCOM.NS_OK;
+}
+
+int getFlags (int /*long*/ flags) {
+ C.memmove (flags, new int[] {nsIClassInfo.MAIN_THREAD_ONLY}, 4); /* PRUint32 */
+ return XPCOM.NS_OK;
+}
+
+int getHelperForLanguage (int language, int /*long*/ _retValue) {
+ C.memmove (_retValue, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int getImplementationLanguage (int /*long*/ _retValue) {
+ C.memmove (_retValue, new int[] {5}, 4); /* nsIProgrammingLanguage.JAVA */ /* PRUint */
+ return XPCOM.NS_OK;
+}
+
+
+int getInterfaces (int /*long*/ count, int /*long*/ array) {
+ int /*long*/ arrayOfIIDs = C.malloc (nsID.sizeof * 2);
+ int /*long*/ arrayOfPtrs = C.malloc (C.PTR_SIZEOF * 2);
+ XPCOM.memmove (arrayOfIIDs, nsISecurityCheckedComponent.NS_ISECURITYCHECKEDCOMPONENT_IID, nsID.sizeof);
+ XPCOM.memmove (arrayOfPtrs, new int /*long*/[] {arrayOfIIDs}, C.PTR_SIZEOF);
+ XPCOM.memmove (arrayOfIIDs + nsID.sizeof, EXTERNAL_IID, nsID.sizeof);
+ XPCOM.memmove (arrayOfPtrs + C.PTR_SIZEOF, new int /*long*/[] {arrayOfIIDs + nsID.sizeof}, C.PTR_SIZEOF);
+ C.memmove (array, new int /*long*/[] {arrayOfPtrs}, C.PTR_SIZEOF);
+ C.memmove (count, new int[] {2}, 4); /* PRUint */
+ return XPCOM.NS_OK;
+}
+
+/* nsISecurityCheckedComponent */
+
+int canCreateWrapper (int /*long*/ iid, int /*long*/ _retVal) {
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "allAccess", true); //$NON-NLS-1$
+ int /*long*/ ptr = C.malloc (bytes.length);
+ C.memmove (ptr, bytes, bytes.length);
+ C.memmove (_retVal, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int canCallMethod (int /*long*/ iid, int /*long*/ methodName, int /*long*/ _retVal) {
+ int length = XPCOM.strlen_PRUnichar (methodName);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, methodName, length * 2);
+ String string = new String (dest);
+ byte[] bytes;
+ if (string.equals("callJava")) { //$NON-NLS-1$
+ bytes = MozillaDelegate.wcsToMbcs (null, "allAccess", true); //$NON-NLS-1$
+ } else {
+ bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
+ }
+ int /*long*/ ptr = C.malloc (bytes.length);
+ C.memmove (ptr, bytes, bytes.length);
+ C.memmove (_retVal, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int canGetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _retVal) {
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
+ int /*long*/ ptr = C.malloc (bytes.length);
+ C.memmove (ptr, bytes, bytes.length);
+ C.memmove (_retVal, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int canSetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _retVal) {
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
+ int /*long*/ ptr = C.malloc (bytes.length);
+ C.memmove (ptr, bytes, bytes.length);
+ C.memmove (_retVal, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+/* external */
+
+Object convertToJava (nsIVariant variant, short type) {
+ switch (type) {
+ case nsIDataType.VTYPE_EMPTY:
+ return null;
+ case nsIDataType.VTYPE_EMPTY_ARRAY:
+ return new Object[0];
+ case nsIDataType.VTYPE_BOOL:
+ int[] boolResult = new int[1]; /*PRInt32*/
+ int rc = variant.GetAsBool (boolResult);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return new Boolean (boolResult[0] != 0);
+ case nsIDataType.VTYPE_INT32:
+ int[] intResult = new int[1]; /*PRInt32*/
+ rc = variant.GetAsInt32 (intResult);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return new Double (intResult[0]);
+ case nsIDataType.VTYPE_DOUBLE:
+ int /*long*/ doubleReturn = C.malloc (8);
+ rc = variant.GetAsDouble (doubleReturn);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ double[] doubleResult = new double[1];
+ C.memmove (doubleResult, doubleReturn, 8);
+ C.free (doubleReturn);
+ return new Double (doubleResult[0]);
+ case nsIDataType.VTYPE_WSTRING_SIZE_IS:
+ int[] size = new int[1]; /* PRInt32 */
+ int /*long*/[] wString = new int /*long*/[1];
+ rc = variant.GetAsWStringWithSize (size, wString);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ char[] chars = new char[size[0]];
+ C.memmove (chars, wString[0], size[0] * 2);
+ return new String (chars);
+ case nsIDataType.VTYPE_ARRAY:
+ Object[] arrayReturn = new Object[0];
+ int /*long*/ iid = C.malloc (nsID.sizeof);
+ int[] count = new int[1]; /* PRUint32 */
+ int /*long*/[] ptr = new int /*long*/[1];
+ ptr[0] = C.malloc (C.PTR_SIZEOF);
+ short[] currentType = new short[1];
+ rc = variant.GetAsArray (currentType, iid, count, ptr);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (ptr[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
+ nsID id = new nsID ();
+ XPCOM.memmove (id, iid, nsID.sizeof);
+ C.free (iid);
+
+ if (id.Equals (nsIVariant.NS_IVARIANT_IID)) {
+ arrayReturn = new Object[count[0]];
+ int /*long*/[] result = new int /*long*/[1];
+ for (int i = 0; i < count[0]; i++) {
+ int /*long*/[] arrayPtr = new int /*long*/[1];
+ OS.memmove (arrayPtr, ptr[0] + i * C.PTR_SIZEOF, C.PTR_SIZEOF);
+ nsISupports supports = new nsISupports (arrayPtr[0]);
+ rc = supports.QueryInterface (nsIVariant.NS_IVARIANT_IID, result);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (ptr[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
+
+ nsIVariant currentVariant = new nsIVariant (result[0]);
+ result[0] = 0;
+ currentType[0] = 0;
+ rc = currentVariant.GetDataType (currentType);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ arrayReturn[i] = convertToJava (currentVariant, currentType[0]);
+ currentVariant.Release ();
+ }
+ } else {
+ switch (currentType[0]) {
+ case nsIDataType.VTYPE_DOUBLE:
+ arrayReturn = new Object[count[0]];
+ for (int i = 0; i < count[0]; i++) {
+ double[] doubleValue = new double[1];
+ C.memmove (doubleValue, ptr[0] + i * 8, 8);
+ arrayReturn[i] = new Double (doubleValue[0]);
+ }
+ break;
+ case nsIDataType.VTYPE_INT32:
+ arrayReturn = new Object[count[0]];
+ for (int i = 0; i < count[0]; i++) {
+ int[] intValue = new int[1]; /* PRInt32 */
+ C.memmove (intValue, ptr[0] + i * 4, 4);
+ arrayReturn[i] = new Double (intValue[0]);
+ }
+ break;
+ case nsIDataType.VTYPE_WCHAR_STR:
+ arrayReturn = new Object[count[0]];
+ for (int i = 0; i < count[0]; i++) {
+ int /*long*/ currentPtr = ptr[0] + i * C.PTR_SIZEOF;
+ int /*long*/[] stringPtr = new int /*long*/[1];
+ C.memmove (stringPtr, currentPtr, C.PTR_SIZEOF);
+ int length = XPCOM.strlen_PRUnichar (stringPtr[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, stringPtr[0], length * 2);
+ arrayReturn[i] = new String (dest);
+ }
+ break;
+ }
+ }
+ C.free (ptr[0]);
+ return arrayReturn;
+ }
+ return null;
+}
+
+nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
+ int /*long*/[] result = new int /*long*/[1];
+ byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_VARIANT_CONTRACTID, true);
+ int rc = componentManager.CreateInstanceByContractID (aContractID, 0, nsIWritableVariant.NS_IWRITABLEVARIANT_IID, result);
+ nsIWritableVariant variant = new nsIWritableVariant (result[0]);
+ result[0] = 0;
+
+ if (value instanceof String) {
+ String stringValue = (String)value;
+ int length = stringValue.length ();
+ char[] chars = new char[length];
+ stringValue.getChars (0, length, chars, 0);
+ rc = variant.SetAsWStringWithSize (length, chars);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return variant;
+ }
+ if (value instanceof Boolean) {
+ Boolean booleanValue = (Boolean)value;
+ rc = variant.SetAsBool (booleanValue.booleanValue () ? 1 : 0);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return variant;
+ }
+ if (value instanceof Number) {
+ Number numberValue = (Number)value;
+ rc = variant.SetAsDouble (numberValue.doubleValue ());
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return variant;
+ }
+ if (value instanceof Object[]) {
+ Object[] arrayValue = (Object[])value;
+ int length = arrayValue.length;
+ if (length > 0) {
+ int /*long*/ arrayPtr = C.malloc (C.PTR_SIZEOF * length);
+ for (int i = 0; i < length; i++) {
+ Object currentObject = arrayValue[i];
+ nsIVariant currentVariant = convertToJS (currentObject, componentManager);
+ OS.memmove (arrayPtr + C.PTR_SIZEOF * i, new int /*long*/[] {currentVariant.getAddress ()}, C.PTR_SIZEOF);
+ }
+ int /*long*/ idPtr = C.malloc (nsID.sizeof);
+ XPCOM.memmove (idPtr, nsIVariant.NS_IVARIANT_IID, nsID.sizeof);
+ rc = variant.SetAsArray (nsIDataType.VTYPE_INTERFACE_IS, idPtr, length, arrayPtr);
+ C.free (idPtr);
+ C.free (arrayPtr);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return variant;
+ }
+ }
+ rc = variant.SetAsVoid();
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ return variant;
+}
+
+int callJava (int functionId, int /*long*/ args, int /*long*/ returnPtr) {
+ Object key = new Integer (functionId);
+ BrowserFunction function = (BrowserFunction)Mozilla.AllFunctions.get (key);
+ Object returnValue = null;
+
+ if (function != null) {
+ short[] type = new short[1]; /* PRUint16 */
+ nsIVariant variant = new nsIVariant (args);
+ int rc = variant.GetDataType (type);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ Object temp = (Object[])convertToJava (variant, type[0]);
+ if (temp instanceof Object[]) {
+ Object[] arguments = (Object[])temp;
+ try {
+ returnValue = function.function (arguments);
+ } catch (Exception e) {
+ returnValue = Mozilla.ERROR_ID + ':' + e.getLocalizedMessage();
+ }
+ }
+ }
+
+ int /*long*/[] result = new int /*long*/[1];
+ int rc = XPCOM.NS_GetComponentManager (result);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
+ nsIComponentManager componentManager = new nsIComponentManager (result[0]);
+ result[0] = 0;
+ nsIVariant variant = convertToJS (returnValue, componentManager);
+ componentManager.Release ();
+ C.memmove (returnPtr, new int /*long*/[] {variant.getAddress ()}, C.PTR_SIZEOF);
+
+ return XPCOM.NS_OK;
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/ExternalFactory.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/ExternalFactory.java
new file mode 100644
index 0000000000..84462ec2f0
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/ExternalFactory.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.browser;
+
+import org.eclipse.swt.internal.*;
+import org.eclipse.swt.internal.mozilla.*;
+
+class ExternalFactory {
+ XPCOMObject supports;
+ XPCOMObject factory;
+ int refCount = 0;
+
+ExternalFactory () {
+ createCOMInterfaces ();
+}
+
+int AddRef () {
+ refCount++;
+ return refCount;
+}
+
+void createCOMInterfaces () {
+ /* Create each of the interfaces that this object implements */
+ supports = new XPCOMObject (new int[] {2, 0, 0}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ };
+
+ factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
+ public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+ public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+ public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+ public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
+ public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
+ };
+}
+
+void disposeCOMInterfaces () {
+ if (supports != null) {
+ supports.dispose ();
+ supports = null;
+ }
+ if (factory != null) {
+ factory.dispose ();
+ factory = null;
+ }
+}
+
+int /*long*/ getAddress () {
+ return factory.getAddress ();
+}
+
+int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
+ if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ nsID guid = new nsID ();
+ XPCOM.memmove (guid, riid, nsID.sizeof);
+
+ if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ AddRef ();
+ return XPCOM.NS_OK;
+ }
+ if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) {
+ XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
+ AddRef ();
+ return XPCOM.NS_OK;
+ }
+
+ XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
+ return XPCOM.NS_ERROR_NO_INTERFACE;
+}
+
+int Release () {
+ refCount--;
+ if (refCount == 0) disposeCOMInterfaces ();
+ return refCount;
+}
+
+/* nsIFactory */
+
+int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
+ External external = new External ();
+ external.AddRef ();
+ XPCOM.memmove (result, new int /*long*/[] {external.getAddress ()}, C.PTR_SIZEOF);
+ return XPCOM.NS_OK;
+}
+
+int LockFactory (int lock) {
+ return XPCOM.NS_OK;
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
index 1dd6ef2d97..fab6a1d433 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
@@ -13,6 +13,7 @@ package org.eclipse.swt.browser;
import java.io.*;
import java.lang.reflect.*;
import java.util.*;
+
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
@@ -52,7 +53,8 @@ class Mozilla extends WebBrowser {
static nsIAppShell AppShell;
static AppFileLocProvider LocationProvider;
static WindowCreator2 WindowCreator;
- static int BrowserCount;
+ static int BrowserCount, NextJSFunctionIndex = 1;
+ static Hashtable AllFunctions = new Hashtable ();
static boolean Initialized, IsPre_1_8, PerformedVersionCheck, XPCOMWasGlued, XPCOMInitWasGlued;
/* XULRunner detect constants */
@@ -374,6 +376,39 @@ public void create (Composite parent, int style) {
}
if (!Initialized) {
+ LocationProvider = new AppFileLocProvider (mozillaPath);
+ LocationProvider.AddRef ();
+
+ /* extract external.xpt to temp */
+ String tempPath = System.getProperty ("java.io.tmpdir"); //$NON-NLS-1$
+ File componentsDir = new File (tempPath, "eclipse/mozillaComponents"); //$NON-NLS-1$
+ LocationProvider.setComponentsPath (componentsDir.getAbsolutePath ());
+ java.io.InputStream is = Library.class.getResourceAsStream ("/external.xpt"); //$NON-NLS-1$
+ if (is != null) {
+ if (!componentsDir.exists ()) {
+ componentsDir.mkdir ();
+ }
+ int read;
+ byte [] buffer = new byte [4096];
+ File file = new File (componentsDir, "external.xpt"); //$NON-NLS-1$
+ try {
+ FileOutputStream os = new FileOutputStream (file);
+ while ((read = is.read (buffer)) != -1) {
+ os.write(buffer, 0, read);
+ }
+ os.close ();
+ is.close ();
+ if (!Platform.PLATFORM.equals ("win32")) { //$NON-NLS-1$
+ try {
+ Runtime.getRuntime ().exec (
+ new String [] {"chmod", "755", file.getAbsolutePath ()}).waitFor (); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (Throwable e) {}
+ }
+ } catch (FileNotFoundException e) {
+ } catch (IOException e) {
+ }
+ }
+
int /*long*/[] retVal = new int /*long*/[1];
nsEmbedString pathString = new nsEmbedString (mozillaPath);
int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, retVal);
@@ -387,9 +422,6 @@ public void create (Composite parent, int style) {
error (XPCOM.NS_ERROR_NULL_POINTER);
}
- LocationProvider = new AppFileLocProvider (mozillaPath);
- LocationProvider.AddRef ();
-
nsIFile localFile = new nsILocalFile (retVal[0]);
rc = XPCOM.NS_InitXPCOM2 (0, localFile.getAddress(), LocationProvider.getAddress ());
localFile.Release ();
@@ -603,7 +635,6 @@ public void create (Composite parent, int style) {
*/
aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true);
rc = serviceManager.GetServiceByContractID (aContractID, nsIPrefService.NS_IPREFSERVICE_IID, result);
- serviceManager.Release ();
if (rc != XPCOM.NS_OK) {
browser.dispose ();
error (rc);
@@ -887,6 +918,8 @@ public void create (Composite parent, int style) {
nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]);
result[0] = 0;
+ componentRegistrar.AutoRegister (0); /* detect the External component */
+
aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PROMPTSERVICE_CONTRACTID, true);
byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "Prompt Service", true); //$NON-NLS-1$
rc = componentRegistrar.RegisterFactory (XPCOM.NS_PROMPTSERVICE_CID, aClassName, aContractID, factory.getAddress ());
@@ -895,7 +928,31 @@ public void create (Composite parent, int style) {
error (rc);
}
factory.Release ();
-
+
+ ExternalFactory externalFactory = new ExternalFactory ();
+ externalFactory.AddRef ();
+ aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.EXTERNAL_CONTRACTID, true);
+ aClassName = MozillaDelegate.wcsToMbcs (null, "External", true); //$NON-NLS-1$
+ rc = componentRegistrar.RegisterFactory (XPCOM.EXTERNAL_CID, aClassName, aContractID, externalFactory.getAddress ());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ externalFactory.Release ();
+
+ rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, nsICategoryManager.NS_ICATEGORYMANAGER_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ serviceManager.Release ();
+
+ nsICategoryManager categoryManager = new nsICategoryManager (result[0]);
+ result[0] = 0;
+ byte[] category = MozillaDelegate.wcsToMbcs (null, "JavaScript global property", true); //$NON-NLS-1$
+ byte[] entry = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
+ rc = categoryManager.AddCategoryEntry(category, entry, aContractID, 1, 1, result);
+ result[0] = 0;
+ categoryManager.Release ();
+
/*
* This Download factory will be used if the GRE version is < 1.8.
* If the GRE version is 1.8.x then the Download factory that is registered later for
@@ -1530,6 +1587,10 @@ public String getBrowserType () {
return "mozilla"; //$NON-NLS-1$
}
+int getNextFunctionIndex () {
+ return NextJSFunctionIndex++;
+}
+
public String getText () {
if (awaitingNavigate) return ""; //$NON-NLS-1$
@@ -1756,7 +1817,12 @@ void Activate () {
if (rc != XPCOM.NS_OK) error (rc);
webBrowserFocus.Release ();
}
-
+
+public void addFunction (BrowserFunction function) {
+ super.addFunction (function);
+ AllFunctions.put (new Integer (function.index), function);
+}
+
void Deactivate () {
int /*long*/[] result = new int /*long*/[1];
int rc = webBrowser.QueryInterface (nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
@@ -2171,6 +2237,11 @@ int Release () {
return refCount;
}
+public void removeFunction (BrowserFunction function) {
+ super.removeFunction (function);
+ AllFunctions.remove (new Integer (function.index));
+}
+
/* nsIWeakReference */
int QueryReferent (int /*long*/ riid, int /*long*/ ppvObject) {
@@ -2286,6 +2357,14 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
for (int i = 0; i < statusTextListeners.length; i++) {
statusTextListeners[i].changed (event);
}
+
+ /* re-install registered functions */
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction function = (BrowserFunction)elements.nextElement ();
+ execute (function.functionString);
+ }
+
ProgressEvent event2 = new ProgressEvent (browser);
event2.display = browser.getDisplay ();
event2.widget = browser;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
index 07eb7dd594..a7a51924f4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/XPCOM.java
@@ -49,6 +49,7 @@ public class XPCOM extends C {
public static final String DOMEVENT_KEYPRESS = "keypress"; //$NON-NLS-1$
/* CID constants */
+ public static final nsID EXTERNAL_CID = new nsID ("f2c59ad0-bd76-11dd-ad8b-0800200c9a66"); //$NON-NLS-1$
public static final nsID NS_APPSHELL_CID = new nsID("2d96b3df-c051-11d1-a827-0040959a28c9"); //$NON-NLS-1$
public static final nsID NS_CATEGORYMANAGER_CID = new nsID("16d222a6-1dd2-11b2-b693-f38b02c021b2"); //$NON-NLS-1$
public static final nsID NS_DOWNLOAD_CID = new nsID("e3fa9D0a-1dd1-11b2-bdef-8c720b597445"); //$NON-NLS-1$
@@ -59,6 +60,7 @@ public class XPCOM extends C {
public static final nsID NS_LOADGROUP_CID = new nsID("e1c61582-2a84-11d3-8cce-0060b0fc14a3"); //$NON-NLS-1$
public static final nsID NS_PROMPTSERVICE_CID = new nsID("a2112d6a-0e28-421f-b46a-25c0b308cbd0"); //$NON-NLS-1$
+ public static final String EXTERNAL_CONTRACTID = "@eclipse.org/external;1"; //$NON-NLS-1$
public static final String NS_CONTEXTSTACK_CONTRACTID = "@mozilla.org/js/xpc/ContextStack;1"; //$NON-NLS-1$
public static final String NS_COOKIEMANAGER_CONTRACTID = "@mozilla.org/cookiemanager;1"; //$NON-NLS-1$
public static final String NS_DIRECTORYSERVICE_CONTRACTID = "@mozilla.org/file/directory_service;1"; //$NON-NLS-1$
@@ -72,6 +74,7 @@ public class XPCOM extends C {
public static final String NS_PREFSERVICE_CONTRACTID = "@mozilla.org/preferences-service;1"; //$NON-NLS-1$
public static final String NS_PROMPTSERVICE_CONTRACTID = "@mozilla.org/embedcomp/prompt-service;1"; //$NON-NLS-1$
public static final String NS_TRANSFER_CONTRACTID = "@mozilla.org/transfer;1"; //$NON-NLS-1$
+ public static final String NS_VARIANT_CONTRACTID = "@mozilla.org/variant;1"; //$NON-NLS-1$
public static final String NS_WEBNAVIGATIONINFO_CONTRACTID = "@mozilla.org/webnavigation-info;1"; //$NON-NLS-1$
public static final String NS_WINDOWWATCHER_CONTRACTID = "@mozilla.org/embedcomp/window-watcher;1"; //$NON-NLS-1$
@@ -426,6 +429,15 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0) {
lock.unlock();
}
}
+static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0);
+static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0) {
+ lock.lock();
+ try {
+ return _VtblCall(fnNumber, ppVtbl, arg0);
+ } finally {
+ lock.unlock();
+ }
+}
static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0);
static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0) {
lock.lock();
@@ -707,6 +719,24 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
lock.unlock();
}
}
+static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2);
+static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2) {
+ lock.lock();
+ try {
+ return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+ } finally {
+ lock.unlock();
+ }
+}
+static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2);
+static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2) {
+ lock.lock();
+ try {
+ return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+ } finally {
+ lock.unlock();
+ }
+}
static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2);
static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2) {
lock.lock();
@@ -1727,4 +1757,22 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
lock.unlock();
}
}
+static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] type, int iid, int[] count, int[] ptr);
+static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] type, int iid, int[] count, int[] ptr) {
+ lock.lock();
+ try {
+ return _VtblCall(fnNumber, ppVtbl, type, iid, count, ptr);
+ } finally {
+ lock.unlock();
+ }
+}
+static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] type, long iid, int[] count, long[] ptr);
+static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] type, long iid, int[] count, long[] ptr) {
+ lock.lock();
+ try {
+ return _VtblCall(fnNumber, ppVtbl, type, iid, count, ptr);
+ } finally {
+ lock.unlock();
+ }
+}
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIClassInfo.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
new file mode 100644
index 0000000000..180f72101d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
@@ -0,0 +1,91 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
+package org.eclipse.swt.internal.mozilla;
+
+public class nsIClassInfo extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 8;
+
+ public static final String NS_ICLASSINFO_IID_STR =
+ "986c11d0-f340-11d4-9075-0010a4e73d9a";
+
+ public static final nsID NS_ICLASSINFO_IID =
+ new nsID(NS_ICLASSINFO_IID_STR);
+
+ public nsIClassInfo(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetInterfaces(int[] count, int /*long*/[] array) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), count, array);
+ }
+
+ public int GetHelperForLanguage(int language, int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), language, _retval);
+ }
+
+ public int GetContractID(int /*long*/[] aContractID) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContractID);
+ }
+
+ public int GetClassDescription(int /*long*/[] aClassDescription) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClassDescription);
+ }
+
+ public int GetClassID(int /*long*/ aClassID) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClassID);
+ }
+
+ public int GetImplementationLanguage(int[] aImplementationLanguage) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aImplementationLanguage);
+ }
+
+ public static final int SINGLETON = 1;
+
+ public static final int THREADSAFE = 2;
+
+ public static final int MAIN_THREAD_ONLY = 4;
+
+ public static final int DOM_OBJECT = 8;
+
+ public static final int PLUGIN_OBJECT = 16;
+
+ public static final int EAGER_CLASSINFO = 32;
+
+ public static final int CONTENT_NODE = 64;
+
+// public static final int RESERVED = 2147483648;
+
+ public int GetFlags(int[] aFlags) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFlags);
+ }
+
+ public int GetClassIDNoAlloc(int /*long*/ aClassIDNoAlloc) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aClassIDNoAlloc);
+ }
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDataType.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDataType.java
new file mode 100644
index 0000000000..88e6093ef5
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIDataType.java
@@ -0,0 +1,73 @@
+package org.eclipse.swt.internal.mozilla;
+
+
+public class nsIDataType extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 0;
+
+ public static final String NS_IDATATYPE_IID_STR =
+ "4d12e540-83d7-11d5-90ed-0010a4e73d9a";
+
+ public static final nsID NS_IDATATYPE_IID =
+ new nsID(NS_IDATATYPE_IID_STR);
+
+ public nsIDataType(int /*long*/ address) {
+ super(address);
+ }
+
+ public static final short VTYPE_INT8 = 0;
+
+ public static final short VTYPE_INT16 = 1;
+
+ public static final short VTYPE_INT32 = 2;
+
+ public static final short VTYPE_INT64 = 3;
+
+ public static final short VTYPE_UINT8 = 4;
+
+ public static final short VTYPE_UINT16 = 5;
+
+ public static final short VTYPE_UINT32 = 6;
+
+ public static final short VTYPE_UINT64 = 7;
+
+ public static final short VTYPE_FLOAT = 8;
+
+ public static final short VTYPE_DOUBLE = 9;
+
+ public static final short VTYPE_BOOL = 10;
+
+ public static final short VTYPE_CHAR = 11;
+
+ public static final short VTYPE_WCHAR = 12;
+
+ public static final short VTYPE_VOID = 13;
+
+ public static final short VTYPE_ID = 14;
+
+ public static final short VTYPE_DOMSTRING = 15;
+
+ public static final short VTYPE_CHAR_STR = 16;
+
+ public static final short VTYPE_WCHAR_STR = 17;
+
+ public static final short VTYPE_INTERFACE = 18;
+
+ public static final short VTYPE_INTERFACE_IS = 19;
+
+ public static final short VTYPE_ARRAY = 20;
+
+ public static final short VTYPE_STRING_SIZE_IS = 21;
+
+ public static final short VTYPE_WSTRING_SIZE_IS = 22;
+
+ public static final short VTYPE_UTF8STRING = 23;
+
+ public static final short VTYPE_CSTRING = 24;
+
+ public static final short VTYPE_ASTRING = 25;
+
+ public static final short VTYPE_EMPTY_ARRAY = 254;
+
+ public static final short VTYPE_EMPTY = 255;
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
new file mode 100644
index 0000000000..bc58ffae6d
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
@@ -0,0 +1,33 @@
+package org.eclipse.swt.internal.mozilla;
+
+
+public class nsISecurityCheckedComponent extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
+
+ public static final String NS_ISECURITYCHECKEDCOMPONENT_IID_STR =
+ "0dad9e8c-a12d-4dcb-9a6f-7d09839356e1";
+
+ public static final nsID NS_ISECURITYCHECKEDCOMPONENT_IID =
+ new nsID(NS_ISECURITYCHECKEDCOMPONENT_IID_STR);
+
+ public nsISecurityCheckedComponent(int /*long*/ address) {
+ super(address);
+ }
+
+ public int CanCreateWrapper(int /*long*/ iid, int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), iid, _retval);
+ }
+
+ public int CanCallMethod(int /*long*/ iid, char[] methodName, int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), iid, methodName, _retval);
+ }
+
+ public int CanGetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), iid, propertyName, _retval);
+ }
+
+ public int CanSetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), iid, propertyName, _retval);
+ }
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java
new file mode 100644
index 0000000000..2de3baf3fc
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIVariant.java
@@ -0,0 +1,147 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
+package org.eclipse.swt.internal.mozilla;
+
+public class nsIVariant extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 26;
+
+ public static final String NS_IVARIANT_IID_STR =
+ "6c9eb060-8c6a-11d5-90f3-0010a4e73d9a";
+
+ public static final nsID NS_IVARIANT_IID =
+ new nsID(NS_IVARIANT_IID_STR);
+
+ public nsIVariant(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetDataType(short[] aDataType) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDataType);
+ }
+
+ public int GetAsInt8(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
+ }
+
+ public int GetAsInt16(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
+ }
+
+ public int GetAsInt32(int[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), _retval);
+ }
+
+ public int GetAsInt64(long[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
+ }
+
+ public int GetAsUint8(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
+ }
+
+ public int GetAsUint16(short[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), _retval);
+ }
+
+ public int GetAsUint32(int[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), _retval);
+ }
+
+ public int GetAsUint64(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
+ }
+
+ public int GetAsFloat(float[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
+ }
+
+ public int GetAsDouble(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), _retval);
+ }
+
+ public int GetAsBool(int[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), _retval);
+ }
+
+ public int GetAsChar(byte[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), _retval);
+ }
+
+ public int GetAsWChar(char[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
+ }
+
+ public int GetAsID(int /*long*/ retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), retval);
+ }
+
+ public int GetAsAString(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), _retval);
+ }
+
+ public int GetAsDOMString(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), _retval);
+ }
+
+ public int GetAsACString(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), _retval);
+ }
+
+ public int GetAsAUTF8String(int /*long*/ _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), _retval);
+ }
+
+ public int GetAsString(int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), _retval);
+ }
+
+ public int GetAsWString(int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), _retval);
+ }
+
+ public int GetAsISupports(int /*long*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
+ }
+
+ public int GetAsInterface(int /*long*/[] iid, int /*long*/[] iface) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), iid, iface);
+ }
+
+ public int GetAsArray(short[] type, int /*long*/ iid, int[] count, int /*long*/[] ptr) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), type, iid, count, ptr);
+ }
+
+ public int GetAsStringWithSize(int[] size, int /*long*/[] str) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), size, str);
+ }
+
+ public int GetAsWStringWithSize(int[] size, int /*long*/[] str) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), size, str);
+ }
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
new file mode 100644
index 0000000000..30b340c4d4
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
@@ -0,0 +1,141 @@
+package org.eclipse.swt.internal.mozilla;
+
+
+public class nsIWritableVariant extends nsIVariant {
+
+ static final int LAST_METHOD_ID = nsIVariant.LAST_METHOD_ID + 31;
+
+ public static final String NS_IWRITABLEVARIANT_IID_STR =
+ "5586a590-8c82-11d5-90f3-0010a4e73d9a";
+
+ public static final nsID NS_IWRITABLEVARIANT_IID =
+ new nsID(NS_IWRITABLEVARIANT_IID_STR);
+
+ public nsIWritableVariant(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetWritable(int[] aWritable) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 1, getAddress(), aWritable);
+ }
+
+ public int SetWritable(int aWritable) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 2, getAddress(), aWritable);
+ }
+
+// public int SetAsInt8(!ERROR UNKNOWN C TYPE <PRUint8 >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 3, getAddress(), aValue);
+// }
+//
+// public int SetAsInt16(!ERROR UNKNOWN C TYPE <PRInt16 >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 4, getAddress(), aValue);
+// }
+
+ public int SetAsInt32(int aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 5, getAddress(), aValue);
+ }
+
+ public int SetAsInt64(long aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 6, getAddress(), aValue);
+ }
+
+// public int SetAsUint8(!ERROR UNKNOWN C TYPE <PRUint8 >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 7, getAddress(), aValue);
+// }
+
+ public int SetAsUint16(short aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 8, getAddress(), aValue);
+ }
+
+ public int SetAsUint32(int aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 9, getAddress(), aValue);
+ }
+
+// public int SetAsUint64(!ERROR UNKNOWN C TYPE <PRUint64 >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 10, getAddress(), aValue);
+// }
+
+ public int SetAsFloat(float aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 11, getAddress(), aValue);
+ }
+
+ public int SetAsDouble(double aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 12, getAddress(), aValue);
+ }
+
+ public int SetAsBool(int aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 13, getAddress(), aValue);
+ }
+
+// public int SetAsChar(!ERROR UNKNOWN C TYPE <char >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 14, getAddress(), aValue);
+// }
+//
+// public int SetAsWChar(!ERROR UNKNOWN C TYPE <PRUnichar >! aValue) {
+// return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 15, getAddress(), aValue);
+// }
+
+ public int SetAsID(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 16, getAddress(), aValue);
+ }
+
+ public int SetAsAString(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 17, getAddress(), aValue);
+ }
+
+ public int SetAsDOMString(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 18, getAddress(), aValue);
+ }
+
+ public int SetAsACString(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 19, getAddress(), aValue);
+ }
+
+ public int SetAsAUTF8String(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 20, getAddress(), aValue);
+ }
+
+ public int SetAsString(byte[] aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 21, getAddress(), aValue);
+ }
+
+ public int SetAsWString(char[] aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 22, getAddress(), aValue);
+ }
+
+ public int SetAsISupports(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 23, getAddress(), aValue);
+ }
+
+ public int SetAsInterface(nsID iid, int /*long*/ iface) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 24, getAddress(), iid, iface);
+ }
+
+ public int SetAsArray(short type, int /*long*/ iid, int count, int /*long*/ ptr) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 25, getAddress(), type, iid, count, ptr);
+ }
+
+ public int SetAsStringWithSize(int size, byte[] str) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 26, getAddress(), size, str);
+ }
+
+ public int SetAsWStringWithSize(int size, char[] str) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 27, getAddress(), size, str);
+ }
+
+ public int SetAsVoid() {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 28, getAddress());
+ }
+
+ public int SetAsEmpty() {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 29, getAddress());
+ }
+
+ public int SetAsEmptyArray() {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 30, getAddress());
+ }
+
+ public int SetFromVariant(int /*long*/ aValue) {
+ return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 31, getAddress(), aValue);
+ }
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.c
index 835effff43..6a673e3b41 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.c
@@ -133,6 +133,22 @@ fail:
}
#endif
+#ifndef NO_objc_1getMetaClass
+JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1getMetaClass)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jint rc = 0;
+ Cocoa_NATIVE_ENTER(env, that, objc_1getMetaClass_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jint)objc_getMetaClass((const char *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ Cocoa_NATIVE_EXIT(env, that, objc_1getMetaClass_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_objc_1msgSend__II
JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__II)
(JNIEnv *env, jclass that, jint arg0, jint arg1)
@@ -145,6 +161,18 @@ JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__II)
}
#endif
+#ifndef NO_objc_1msgSend__IID
+JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__IID)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2)
+{
+ jint rc = 0;
+ Cocoa_NATIVE_ENTER(env, that, objc_1msgSend__IID_FUNC);
+ rc = (jint)((jint (*)(id, SEL, jdouble))objc_msgSend)((id)arg0, (SEL)arg1, arg2);
+ Cocoa_NATIVE_EXIT(env, that, objc_1msgSend__IID_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_objc_1msgSend__IIF
JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__IIF)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jfloat arg2)
@@ -367,6 +395,22 @@ fail:
}
#endif
+#ifndef NO_objc_1msgSend__II_3C
+JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__II_3C)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1, jcharArray arg2)
+{
+ jchar *lparg2=NULL;
+ jint rc = 0;
+ Cocoa_NATIVE_ENTER(env, that, objc_1msgSend__II_3C_FUNC);
+ if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (*)(jint, jint, jchar *))objc_msgSend)(arg0, arg1, lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
+ Cocoa_NATIVE_EXIT(env, that, objc_1msgSend__II_3C_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_objc_1msgSend__II_3IIIIIIIIIII
JNIEXPORT jint JNICALL Cocoa_NATIVE(objc_1msgSend__II_3IIIIIIIIIII)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
@@ -383,6 +427,18 @@ fail:
}
#endif
+#ifndef NO_objc_1msgSend_1fpret
+JNIEXPORT jdouble JNICALL Cocoa_NATIVE(objc_1msgSend_1fpret)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jdouble rc = 0;
+ Cocoa_NATIVE_ENTER(env, that, objc_1msgSend_1fpret_FUNC);
+ rc = (jdouble)((jdouble (*)(jintLong, jintLong))objc_msgSend_fpret)(arg0, arg1);
+ Cocoa_NATIVE_EXIT(env, that, objc_1msgSend_1fpret_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2II
JNIEXPORT void JNICALL Cocoa_NATIVE(objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2II)
(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.h
index d49394648d..c87d0c0ee6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa.h
@@ -16,9 +16,14 @@
#include <WebKit/WebKit.h>
#include <WebKit/HIWebView.h>
#include <WebKit/CarbonUtils.h>
+#import <objc/objc-runtime.h>
#include "cocoa_custom.h"
+#ifndef __i386__
+#define objc_msgSend_fpret objc_msgSend
+#endif
+
#ifdef __i386__
#define STRUCT_SIZE_LIMIT 8
#elif __ppc__
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_custom.c
index 4fb96860e3..4652e95179 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_custom.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_custom.c
@@ -137,6 +137,11 @@ fail:
proc((int)sender, user_data, 31, (int)frame, 0, 0, 0);
}
+- (void)webView:(WebView *)sender windowScriptObjectAvailable:(WebScriptObject *)windowScriptObject
+{
+ proc((int)sender, user_data, 33, (int)windowScriptObject, 0, 0, 0);
+}
+
/* WebResourceLoadDelegate */
- (void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource
@@ -280,5 +285,27 @@ fail:
proc((int)evt, user_data, 32, (int)evt, 0, 0, 0);
}
+/* WebScripting */
+
++ (BOOL)isSelectorExcludedFromWebScript:(SEL)aSelector
+{
+ return aSelector != @selector(callJava:index:arg:);
+}
+
++ (NSString *)webScriptNameForSelector:(SEL)aSelector
+{
+ if (aSelector == @selector(callJava:index:arg:)) {
+ return @"callJava";
+ }
+ return 0;
+}
+
+/* external */
+
+- (id)callJava:(NSObject *)arg index:(NSObject *)index arg:(NSObject *)arg0
+{
+ return (id)proc(0, user_data, 34, (int)arg, (int)index, (int)arg0, 0);
+}
+
@end
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.c
index a4f0b6710a..8178ae1925 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.c
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int Cocoa_nativeFunctionCount = 29;
-int Cocoa_nativeFunctionCallCount[29];
+int Cocoa_nativeFunctionCount = 33;
+int Cocoa_nativeFunctionCallCount[33];
char * Cocoa_nativeFunctionNames[] = {
"HICocoaViewCreate",
"HIJavaViewCreateWithCocoaView",
@@ -26,7 +26,9 @@ char * Cocoa_nativeFunctionNames[] = {
"memcpy",
"memmove",
"objc_1getClass",
+ "objc_1getMetaClass",
"objc_1msgSend__II",
+ "objc_1msgSend__IID",
"objc_1msgSend__IIF",
"objc_1msgSend__IIFF",
"objc_1msgSend__III",
@@ -42,7 +44,9 @@ char * Cocoa_nativeFunctionNames[] = {
"objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSRect_2I",
"objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSRect_2II",
"objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSSize_2",
+ "objc_1msgSend__II_3C",
"objc_1msgSend__II_3IIIIIIIIIII",
+ "objc_1msgSend_1fpret",
"objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2II",
"objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2IILorg_eclipse_swt_internal_cocoa_NSRect_2I",
"sel_1registerName",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.h
index a5424e6aac..4dfb9f45d7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/cocoa_stats.h
@@ -34,7 +34,9 @@ typedef enum {
memcpy_FUNC,
memmove_FUNC,
objc_1getClass_FUNC,
+ objc_1getMetaClass_FUNC,
objc_1msgSend__II_FUNC,
+ objc_1msgSend__IID_FUNC,
objc_1msgSend__IIF_FUNC,
objc_1msgSend__IIFF_FUNC,
objc_1msgSend__III_FUNC,
@@ -50,7 +52,9 @@ typedef enum {
objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSRect_2I_FUNC,
objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSRect_2II_FUNC,
objc_1msgSend__IILorg_eclipse_swt_internal_cocoa_NSSize_2_FUNC,
+ objc_1msgSend__II_3C_FUNC,
objc_1msgSend__II_3IIIIIIIIIII_FUNC,
+ objc_1msgSend_1fpret_FUNC,
objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2II_FUNC,
objc_1msgSend_1stret__Lorg_eclipse_swt_internal_cocoa_NSRect_2IILorg_eclipse_swt_internal_cocoa_NSRect_2I_FUNC,
sel_1registerName_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java
index 169e58dd6b..ffe2606dcc 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/cocoa/Cocoa.java
@@ -39,12 +39,20 @@ public static final int C_NSImageView = Cocoa.objc_getClass("NSImageView"); //$N
public static final int C_WebPreferences = Cocoa.objc_getClass("WebPreferences"); //$NON-NLS-1$
public static final int C_NSBezierPath = Cocoa.objc_getClass("NSBezierPath"); //$NON-NLS-1$
public static final int C_NSButton = Cocoa.objc_getClass("NSButton"); //$NON-NLS-1$
+public static final int C_NSObject = Cocoa.objc_getClass("NSObject"); //$NON-NLS-1$
+public static final int C_NSString = Cocoa.objc_getClass("NSString"); //$NON-NLS-1$
+public static final int C_NSMutableArray = Cocoa.objc_getClass("NSMutableArray"); //$NON-NLS-1$
+public static final int C_WebScriptObject = Cocoa.objc_getClass("WebScriptObject"); //$NON-NLS-1$
+public static final int C_WebUndefined = Cocoa.objc_getClass("WebUndefined"); //$NON-NLS-1$
/* Objective-C method selectors */
public static final int S_absoluteString = Cocoa.sel_registerName("absoluteString"); //$NON-NLS-1$
public static final int S_addObserver_selector_name_object = Cocoa.sel_registerName("addObserver:selector:name:object:"); //$NON-NLS-1$
+public static final int S_addObject = Cocoa.sel_registerName("addObject:"); //$NON-NLS-1$
public static final int S_alloc = Cocoa.sel_registerName("alloc"); //$NON-NLS-1$
+public static final int S_arrayWithCapacity = Cocoa.sel_registerName("arrayWithCapacity:"); //$NON-NLS-1$
public static final int S_autorelease = Cocoa.sel_registerName("autorelease"); //$NON-NLS-1$
+public static final int S_boolValue = Cocoa.sel_registerName("boolValue"); //$NON-NLS-1$
public static final int S_cancel = Cocoa.sel_registerName("cancel"); //$NON-NLS-1$
public static final int S_canGoBack = Cocoa.sel_registerName("canGoBack"); //$NON-NLS-1$
public static final int S_canGoForward = Cocoa.sel_registerName("canGoForward"); //$NON-NLS-1$
@@ -58,6 +66,7 @@ public static final int S_dataSource = Cocoa.sel_registerName("dataSource"); //$
public static final int S_defaultCenter = Cocoa.sel_registerName("defaultCenter"); //$NON-NLS-1$
public static final int S_deleteCookie = Cocoa.sel_registerName("deleteCookie:"); //$NON-NLS-1$
public static final int S_documentSource = Cocoa.sel_registerName("documentSource"); //$NON-NLS-1$
+public static final int S_doubleValue = Cocoa.sel_registerName("doubleValue"); //$NON-NLS-1$
public static final int S_download = Cocoa.sel_registerName("download"); //$NON-NLS-1$
public static final int S_goBack = Cocoa.sel_registerName("goBack:"); //$NON-NLS-1$
public static final int S_goForward = Cocoa.sel_registerName("goForward:"); //$NON-NLS-1$
@@ -66,11 +75,16 @@ public static final int S_ignore = Cocoa.sel_registerName("ignore"); //$NON-NLS-
public static final int S_initialRequest = Cocoa.sel_registerName("initialRequest"); //$NON-NLS-1$
public static final int S_initWithFrame_frameName_groupName = Cocoa.sel_registerName("initWithFrame:frameName:groupName:"); //$NON-NLS-1$
public static final int S_initWithProc = Cocoa.sel_registerName("initWithProc:user_data:"); //$NON-NLS-1$
+public static final int S_intValue = Cocoa.sel_registerName("intValue"); //$NON-NLS-1$
+public static final int S_isKindOfClass = Cocoa.sel_registerName("isKindOfClass:"); //$NON-NLS-1$
public static final int S_isSessionOnly = Cocoa.sel_registerName("isSessionOnly"); //$NON-NLS-1$
public static final int S_loadHTMLStringbaseURL = Cocoa.sel_registerName("loadHTMLString:baseURL:"); //$NON-NLS-1$
public static final int S_loadRequest = Cocoa.sel_registerName("loadRequest:"); //$NON-NLS-1$
+public static final int S_length = Cocoa.sel_registerName("length"); //$NON-NLS-1$
public static final int S_mainFrame = Cocoa.sel_registerName("mainFrame"); //$NON-NLS-1$
public static final int S_name = Cocoa.sel_registerName("name"); //$NON-NLS-1$
+public static final int S_numberWithBool = Cocoa.sel_registerName("numberWithBool:"); //$NON-NLS-1$
+public static final int S_numberWithDouble = Cocoa.sel_registerName("numberWithDouble:"); //$NON-NLS-1$
public static final int S_numberWithInt = Cocoa.sel_registerName("numberWithInt:"); //$NON-NLS-1$
public static final int S_objectAtIndex = Cocoa.sel_registerName("objectAtIndex:"); //$NON-NLS-1$
public static final int S_pageTitle = Cocoa.sel_registerName("pageTitle"); //$NON-NLS-1$
@@ -100,6 +114,7 @@ public static final int S_standardPreferences = Cocoa.sel_registerName("standard
public static final int S_stopLoading = Cocoa.sel_registerName("stopLoading:"); //$NON-NLS-1$
public static final int S_stringByEvaluatingJavaScriptFromString = Cocoa.sel_registerName("stringByEvaluatingJavaScriptFromString:"); //$NON-NLS-1$
public static final int S_takeStringURLFrom = Cocoa.sel_registerName("takeStringURLFrom:"); //$NON-NLS-1$
+public static final int S_undefined = Cocoa.sel_registerName("undefined"); //$NON-NLS-1$
public static final int S_use = Cocoa.sel_registerName("use"); //$NON-NLS-1$
public static final int S_valueForKey = Cocoa.sel_registerName("valueForKey:"); //$NON-NLS-1$
public static final int S_webFrame = Cocoa.sel_registerName("webFrame"); //$NON-NLS-1$
@@ -164,6 +179,10 @@ public static final int S_relatedTarget = Cocoa.sel_registerName("relatedTarget"
public static final int S_shiftKey = Cocoa.sel_registerName("shiftKey"); //$NON-NLS-1$
public static final int S_type = Cocoa.sel_registerName("type"); //$NON-NLS-1$
public static final int S_wheelDelta = Cocoa.sel_registerName("wheelDelta"); //$NON-NLS-1$
+public static final int S_setValue = Cocoa.sel_registerName("setValue:forKey:"); //$NON-NLS-1$
+public static final int S_webScriptValueAtIndex = Cocoa.sel_registerName("webScriptValueAtIndex:"); //$NON-NLS-1$
+public static final int S_getCharacters_ = Cocoa.sel_registerName("getCharacters:"); //$NON-NLS-1$
+public static final int S_objCType = Cocoa.sel_registerName("objCType"); //$NON-NLS-1$
public static final int NSAlphaFirstBitmapFormat = 1 << 0;
public static final int NSAlphaNonpremultipliedBitmapFormat = 1 << 1;
@@ -191,6 +210,8 @@ public static final native int HICocoaViewCreate(int nsview, int options, int[]
/* OBJ-C runtime primitives */
/** @param className cast=(const char *) */
public static final native int objc_getClass(byte[] className);
+/** @param className cast=(const char *) */
+public static final native int objc_getMetaClass(byte[] className);
/**
* @param object cast=(id)
* @param selector cast=(SEL)
@@ -212,6 +233,14 @@ public static final native int objc_msgSend(int object, int selector, float arg0
* @param object cast=(id)
* @param selector cast=(SEL)
*/
+public static final native int objc_msgSend(int object, int selector, double arg0);
+/** @method flags=cast */
+public static final native int objc_msgSend(int object, int selector, char[] arg0);
+/**
+ * @method flags=cast
+ * @param object cast=(id)
+ * @param selector cast=(SEL)
+ */
public static final native int objc_msgSend(int object, int selector, float arg0, float arg1);
/**
* @param object cast=(id)
@@ -289,6 +318,8 @@ public static final native int objc_msgSend(int object, int selector, int arg0,
* @param selector cast=(SEL)
*/
public static final native int objc_msgSend(int object, int selector, int[] arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10);
+/** @method flags=cast */
+public static final native double objc_msgSend_fpret(int /*long*/ id, int /*long*/ sel);
/**
* @param result cast=(void *)
* @param object cast=(void *)
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 e32dd7d4a3..9166e9eaa2 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
@@ -1335,47 +1335,47 @@ JNIEXPORT void JNICALL COM_NATIVE(VariantInit)
}
#endif
-#if (!defined(NO_VtblCall__IIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJII) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3)
#endif
{
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIII_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJJ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJII_FUNC);
#endif
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIII_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJJ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJII_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIIJ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIII) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jintLong arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jintLong arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4)
#endif
{
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIIII_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJIIJ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIII_FUNC);
#endif
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint, jintLong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, arg4);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, arg4);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIIII_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJIIJ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIII_FUNC);
#endif
return rc;
}
@@ -1473,6 +1473,89 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJJJIIII)(JNIEnv *env, jclass that
}
#endif
+#if (!defined(NO_VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jint arg6, jobject arg7, jint arg8)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jint arg6, jobject arg7, jint arg8)
+#endif
+{
+ DISPPARAMS _arg5, *lparg5=NULL;
+ EXCEPINFO _arg7, *lparg7=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC);
+#endif
+ 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, jint, jint, jint, DISPPARAMS *, jint, EXCEPINFO *, jint))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jlong arg6, jobject arg7, jlong arg8)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jobject arg5, jlong arg6, jobject arg7, jlong arg8)
+#endif
+{
+ DISPPARAMS _arg5, *lparg5=NULL;
+ EXCEPINFO _arg7, *lparg7=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC);
+#endif
+ 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, jint, jint, jint, DISPPARAMS *, jlong, EXCEPINFO *, jlong))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIIIJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIIJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIIJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jlong arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIIJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jlong arg4)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIIIJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIIJ_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, arg4);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIIIJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIIJ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jobject arg4, jobject arg5)
@@ -1503,41 +1586,41 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3, jobject arg4, jintLong arg5, jintLongArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jintArray arg6)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3, jobject arg4, jintLong arg5, jintLongArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jobject arg4, jint arg5, jintArray arg6)
#endif
{
GUID _arg4, *lparg4=NULL;
- jintLong *lparg6=NULL;
+ jint *lparg6=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
#endif
if (arg4) if ((lparg4 = getGUIDFields(env, arg4, &_arg4)) == NULL) goto fail;
- if (arg6) if ((lparg6 = (*env)->GetIntLongArrayElements(env, arg6, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, GUID *, jintLong, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, lparg6);
+ if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint, GUID *, jint, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5, lparg6);
fail:
- if (arg6 && lparg6) (*env)->ReleaseIntLongArrayElements(env, arg6, lparg6, 0);
+ if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
if (arg4 && lparg4) setGUIDFields(env, arg4, lparg4);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3, jobject arg4, jint arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jobject arg4, jint arg5)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jintLong arg3, jobject arg4, jint arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jint arg3, jobject arg4, jint arg5)
#endif
{
POINT _arg4, *lparg4=NULL;
@@ -1545,16 +1628,16 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_win32_
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#endif
if (arg4) if ((lparg4 = getPOINTFields(env, arg4, &_arg4)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jintLong, POINT *, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint, POINT *, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5);
fail:
if (arg4 && lparg4) setPOINTFields(env, arg4, lparg4);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#endif
return rc;
}
@@ -1614,6 +1697,29 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__IIIJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlong arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlong arg3)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIIJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIJ_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIIJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIJ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IIIJ_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIJ_3I) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIJ_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlong arg3, jintArray arg4)
@@ -1641,31 +1747,31 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintArray arg4)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintArray arg4)
#endif
{
FORMATETC _arg3, *lparg3=NULL;
- jintLong *lparg4=NULL;
+ jint *lparg4=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
#endif
if (arg3) if ((lparg3 = getFORMATETCFields(env, arg3, &_arg3)) == NULL) goto fail;
- if (arg4) if ((lparg4 = (*env)->GetIntLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, FORMATETC *, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+ if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, FORMATETC *, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
fail:
- if (arg4 && lparg4) (*env)->ReleaseIntLongArrayElements(env, arg4, lparg4, 0);
+ if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
if (arg3 && lparg3) setFORMATETCFields(env, arg3, lparg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC);
#endif
return rc;
}
@@ -1698,11 +1804,11 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintLong arg4, jintLong arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintLong arg4, jintLong arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5)
#endif
{
GUID _arg3, *lparg3=NULL;
@@ -1710,26 +1816,26 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
#endif
if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, GUID *, jintLong, jintLong))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, GUID *, jint, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5);
fail:
if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jintLong arg7, jobject arg8, jintArray arg9)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jint arg7, jobject arg8, jintArray arg9)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jintLong arg7, jobject arg8, jintArray arg9)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jint arg7, jobject arg8, jintArray arg9)
#endif
{
GUID _arg3, *lparg3=NULL;
@@ -1740,13 +1846,13 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
#endif
if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
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, jint, GUID *, jint, jint, DISPPARAMS *, jintLong, EXCEPINFO *, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, lparg6, arg7, lparg8, lparg9);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, GUID *, jint, jint, DISPPARAMS *, jint, EXCEPINFO *, jint *))(*(jintLong **)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);
@@ -1755,47 +1861,110 @@ fail:
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jlong arg7, jobject arg8, jintArray arg9)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jobject arg6, jlong arg7, jobject arg8, jintArray arg9)
+#endif
+{
+ GUID _arg3, *lparg3=NULL;
+ DISPPARAMS _arg6, *lparg6=NULL;
+ EXCEPINFO _arg8, *lparg8=NULL;
+ jint *lparg9=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
+#endif
+ if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
+ 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, jint, GUID *, jint, jint, DISPPARAMS *, jlong, EXCEPINFO *, jint *))(*(jintLong **)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);
+ if (arg6 && lparg6) setDISPPARAMSFields(env, arg6, lparg6);
+ if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jlong arg4, jlong arg5)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jlong arg4, jlong arg5)
+#endif
+{
+ GUID _arg3, *lparg3=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+#endif
+ if (arg3) if ((lparg3 = getGUIDFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, GUID *, jlong, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5);
+fail:
+ if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintArray arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintArray arg4)
#endif
{
STATSTG _arg3, *lparg3=NULL;
- jintLong *lparg4=NULL;
+ jint *lparg4=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
#endif
if (arg3) if ((lparg3 = getSTATSTGFields(env, arg3, &_arg3)) == NULL) goto fail;
- if (arg4) if ((lparg4 = (*env)->GetIntLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, STATSTG *, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+ if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, STATSTG *, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
fail:
- if (arg4 && lparg4) (*env)->ReleaseIntLongArrayElements(env, arg4, lparg4, 0);
+ if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
if (arg3 && lparg3) setSTATSTGFields(env, arg3, lparg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintLong arg4, jint arg5, jintLong arg6, jobject arg7)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jint arg6, jobject arg7)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jintLong arg4, jint arg5, jintLong arg6, jobject arg7)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4, jint arg5, jint arg6, jobject arg7)
#endif
{
MSG _arg3, *lparg3=NULL;
@@ -1804,28 +1973,58 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_M
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
#endif
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, jint, MSG *, jintLong, jint, jintLong, RECT *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, MSG *, jint, jint, jint, RECT *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7);
fail:
if (arg7 && lparg7) setRECTFields(env, arg7, lparg7);
if (arg3 && lparg3) setMSGFields(env, arg3, lparg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jlong arg4, jint arg5, jlong arg6, jobject arg7)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jlong arg4, jint arg5, jlong arg6, jobject arg7)
+#endif
+{
+ MSG _arg3, *lparg3=NULL;
+ RECT _arg7, *lparg7=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC);
+#endif
+ 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, jint, MSG *, jlong, jint, jlong, RECT *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, arg5, arg6, lparg7);
+fail:
+ if (arg7 && lparg7) setRECTFields(env, arg7, lparg7);
+ if (arg3 && lparg3) setMSGFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLong arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jobject arg3, jintLong arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jobject arg3, jint arg4)
#endif
{
POINT _arg3, *lparg3=NULL;
@@ -1833,16 +2032,16 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_win32_P
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#endif
if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, POINT *, jintLong))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, POINT *, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4);
fail:
if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
#endif
return rc;
}
@@ -1875,24 +2074,24 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IIIZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJZ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IIIZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJIZ) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jboolean arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIIZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jboolean arg3)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jintLong arg2, jboolean arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJIZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jboolean arg3)
#endif
{
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IIIZ_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJJZ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJIZ_FUNC);
#endif
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jintLong, jboolean))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jboolean))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IIIZ_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJJZ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJIZ_FUNC);
#endif
return rc;
}
@@ -1925,67 +2124,67 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__III_3II_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3JI_3I) && defined(JNI64))
+#if (!defined(NO_VtblCall__III_3II_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3II_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3II_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintLongArray arg3, jint arg4, jintArray arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3II_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3JI_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintLongArray arg3, jint arg4, jintArray arg5)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3II_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintArray arg3, jint arg4, jintArray arg5)
#endif
{
- jintLong *lparg3=NULL;
+ jint *lparg3=NULL;
jint *lparg5=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__III_3II_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJI_3JI_3I_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJI_3II_3I_FUNC);
#endif
- if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jintLong *, jint, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint *, jint, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4, lparg5);
fail:
if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
- if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__III_3II_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJI_3JI_3I_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJI_3II_3I_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__III_3I_3I_3I_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3J_3J_3I_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__III_3I_3I_3I_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3I_3I_3I_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3I_3I_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintLongArray arg3, jintLongArray arg4, jintArray arg5, jintLongArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3I_3I_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3J_3J_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintLongArray arg3, jintLongArray arg4, jintArray arg5, jintLongArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3I_3I_3I_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
#endif
{
- jintLong *lparg3=NULL;
- jintLong *lparg4=NULL;
+ jint *lparg3=NULL;
+ jint *lparg4=NULL;
jint *lparg5=NULL;
- jintLong *lparg6=NULL;
+ jint *lparg6=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJI_3J_3J_3I_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJI_3I_3I_3I_3I_FUNC);
#endif
- if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
- if (arg4) if ((lparg4 = (*env)->GetIntLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
if (arg5) if ((lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL)) == NULL) goto fail;
- if (arg6) if ((lparg6 = (*env)->GetIntLongArrayElements(env, arg6, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jintLong *, jintLong *, jint *, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6);
+ if (arg6) if ((lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jint, jint *, jint *, jint *, jint *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4, lparg5, lparg6);
fail:
- if (arg6 && lparg6) (*env)->ReleaseIntLongArrayElements(env, arg6, lparg6, 0);
+ if (arg6 && lparg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
if (arg5 && lparg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
- if (arg4 && lparg4) (*env)->ReleaseIntLongArrayElements(env, arg4, lparg4, 0);
- if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__III_3I_3I_3I_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJI_3J_3J_3I_3J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJI_3I_3I_3I_3I_FUNC);
#endif
return rc;
}
@@ -2018,6 +2217,95 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__III_3JI_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3JI_3I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3JI_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlongArray arg3, jint arg4, jintArray arg5)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3JI_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlongArray arg3, jint arg4, jintArray arg5)
+#endif
+{
+ jlong *lparg3=NULL;
+ jint *lparg5=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__III_3JI_3I_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJI_3JI_3I_FUNC);
+#endif
+ 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, jint, jlong *, jint, jint *))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__III_3JI_3I_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJI_3JI_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__III_3J_3J_3I_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJI_3J_3J_3I_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__III_3J_3J_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlongArray arg3, jlongArray arg4, jintArray arg5, jlongArray arg6)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJI_3J_3J_3I_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jint arg2, jlongArray arg3, jlongArray arg4, jintArray arg5, jlongArray arg6)
+#endif
+{
+ jlong *lparg3=NULL;
+ jlong *lparg4=NULL;
+ jint *lparg5=NULL;
+ jlong *lparg6=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__III_3J_3J_3I_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJI_3J_3J_3I_3J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ 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, jint, jlong *, jlong *, jint *, jlong *))(*(jintLong **)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);
+ if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__III_3J_3J_3I_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJI_3J_3J_3I_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJI) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJI) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jint arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jint arg3)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJI_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJI_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJI_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJI_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IIJI_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJI_3I) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJI_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jint arg3, jintArray arg4)
@@ -2045,6 +2333,223 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__IIJI_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJI_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJI_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jint arg3, jlongArray arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJI_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jint arg3, jlongArray arg4)
+#endif
+{
+ jlong *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJI_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJI_3J_FUNC);
+#endif
+ if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jint, jlong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJI_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJI_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJJ_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJJ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3, jobject arg4, jlong arg5, jlongArray arg6)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3, jobject arg4, jlong arg5, jlongArray arg6)
+#endif
+{
+ GUID _arg4, *lparg4=NULL;
+ jlong *lparg6=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+#endif
+ 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, jlong, jlong, GUID *, jlong, jlong *))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3, jobject arg4, jint arg5)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlong arg3, jobject arg4, jint arg5)
+#endif
+{
+ POINT _arg4, *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+#endif
+ if (arg4) if ((lparg4 = getPOINTFields(env, arg4, &_arg4)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jlong, POINT *, jint))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3, lparg4, arg5);
+fail:
+ if (arg4 && lparg4) setPOINTFields(env, arg4, lparg4);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlongArray arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlongArray arg4)
+#endif
+{
+ FORMATETC _arg3, *lparg3=NULL;
+ jlong *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = getFORMATETCFields(env, arg3, &_arg3)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, FORMATETC *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) setFORMATETCFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlongArray arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlongArray arg4)
+#endif
+{
+ STATSTG _arg3, *lparg3=NULL;
+ jlong *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = getSTATSTGFields(env, arg3, &_arg3)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = (*env)->GetLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, STATSTG *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) setSTATSTGFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlong arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jobject arg3, jlong arg4)
+#endif
+{
+ POINT _arg3, *lparg3=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = getPOINTFields(env, arg3, &_arg3)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, POINT *, jlong))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3, arg4);
+fail:
+ if (arg3 && lparg3) setPOINTFields(env, arg3, lparg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IIJZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJZ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jboolean arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jboolean arg3)
+#endif
+{
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJZ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJZ_FUNC);
+#endif
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jboolean))(*(jintLong **)arg1)[arg0])(arg1, arg2, arg3);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJZ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJZ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IIJ_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJ_3I) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJ_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jintArray arg3)
@@ -2072,6 +2577,33 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__IIJ_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJJ_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IIJ_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlongArray arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJJ_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jlong arg2, jlongArray arg3)
+#endif
+{
+ jlong *lparg3=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IIJ_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJJ_3J_FUNC);
+#endif
+ if (arg3) if ((lparg3 = (*env)->GetLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jlong, jlong *))(*(jintLong **)arg1)[arg0])(arg1, arg2, lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IIJ_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJJ_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CAUUID_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2)
@@ -2240,11 +2772,11 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jintLong arg5, jintLong arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jintLong arg5, jintLong arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jint arg6)
#endif
{
GUID _arg2, *lparg2=NULL;
@@ -2252,26 +2784,26 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
#endif
if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jint, jint, jintLong, jintLong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jint, jint, jint, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6);
fail:
if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3, jint arg4, jint arg5, jintArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3, jint arg4, jint arg5, jintArray arg6)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jint arg5, jintArray arg6)
#endif
{
GUID _arg2, *lparg2=NULL;
@@ -2280,18 +2812,45 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win3
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
#endif
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, jint, jint, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, lparg6);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jint, jint, jint, jint *))(*(jintLong **)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);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jlong arg5, jlong arg6)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jint arg4, jlong arg5, jlong arg6)
+#endif
+{
+ GUID _arg2, *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
+#endif
+ if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jint, jint, jlong, jlong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6);
+fail:
+ if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC);
#endif
return rc;
}
@@ -2330,63 +2889,156 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3, jint arg4, jint arg5, jintArray arg6)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3, jint arg4, jint arg5, jintArray arg6)
+#endif
+{
+ GUID _arg2, *lparg2=NULL;
+ jint *lparg6=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+#endif
+ 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 *, jlong, jint, jint, jint *))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jintArray arg4)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jintLongArray arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jintArray arg4)
#endif
{
GUID _arg2, *lparg2=NULL;
GUID _arg3, *lparg3=NULL;
- jintLong *lparg4=NULL;
+ jint *lparg4=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#endif
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)->GetIntLongArrayElements(env, arg4, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, GUID *, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
+ if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, GUID *, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
fail:
- if (arg4 && lparg4) (*env)->ReleaseIntLongArrayElements(env, arg4, lparg4, 0);
+ if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jlongArray arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jobject arg3, jlongArray arg4)
+#endif
+{
+ GUID _arg2, *lparg2=NULL;
+ GUID _arg3, *lparg3=NULL;
+ jlong *lparg4=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#endif
+ 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 *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3, lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseLongArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) setGUIDFields(env, arg3, lparg3);
+ if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLongArray arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintArray arg3)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLongArray arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintArray arg3)
#endif
{
GUID _arg2, *lparg2=NULL;
- jintLong *lparg3=NULL;
+ jint *lparg3=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#endif
if (arg2) if ((lparg2 = getGUIDFields(env, arg2, &_arg2)) == NULL) goto fail;
- if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3);
+ if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, GUID *, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3);
fail:
- if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlongArray arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlongArray arg3)
+#endif
+{
+ GUID _arg2, *lparg2=NULL;
+ jlong *lparg3=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#endif
+ 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 *, jlong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseLongArrayElements(env, arg3, lparg3, 0);
+ if (arg2 && lparg2) setGUIDFields(env, arg2, lparg2);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC);
#endif
return rc;
@@ -2501,11 +3153,11 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3, jboolean arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jboolean arg4)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3, jboolean arg4)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3, jboolean arg4)
#endif
{
RECT _arg2, *lparg2=NULL;
@@ -2513,15 +3165,42 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RE
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
#endif
if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *, jintLong, jboolean))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *, jint, jboolean))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4);
fail:
if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3, jboolean arg4)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3, jboolean arg4)
+#endif
+{
+ RECT _arg2, *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC);
+#endif
+ if (arg2) if ((lparg2 = getRECTFields(env, arg2, &_arg2)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, RECT *, jlong, jboolean))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4);
+fail:
+ if (arg2 && lparg2) setRECTFields(env, arg2, lparg2);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC);
#endif
return rc;
@@ -2558,11 +3237,11 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J) && defined(JNI64))
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jint arg3)
#endif
{
SHDRAGIMAGE _arg2, *lparg2=NULL;
@@ -2570,15 +3249,42 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_SH
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC);
#endif
if (arg2) if ((lparg2 = getSHDRAGIMAGEFields(env, arg2, &_arg2)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, SHDRAGIMAGE *, jintLong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, SHDRAGIMAGE *, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
fail:
if (arg2 && lparg2) setSHDRAGIMAGEFields(env, arg2, lparg2);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC);
#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jobject arg2, jlong arg3)
+#endif
+{
+ SHDRAGIMAGE _arg2, *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC);
+#endif
+ if (arg2) if ((lparg2 = getSHDRAGIMAGEFields(env, arg2, &_arg2)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, SHDRAGIMAGE *, jlong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+fail:
+ if (arg2 && lparg2) setSHDRAGIMAGEFields(env, arg2, lparg2);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC);
+#else
COM_NATIVE_EXIT(env, that, VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC);
#endif
return rc;
@@ -2635,11 +3341,11 @@ fail:
}
#endif
-#if (!defined(NO_VtblCall__II_3CI) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CJ) && defined(JNI64))
+#if (!defined(NO_VtblCall__II_3CI) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CI) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jintLong arg3)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CI)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3)
#endif
{
jchar *lparg2=NULL;
@@ -2647,46 +3353,46 @@ JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJ)(JNIEnv *env, jclass that, ji
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__II_3CI_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJ_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CI_FUNC);
#endif
if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jint))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
fail:
if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__II_3CI_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CJ_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CI_FUNC);
#endif
return rc;
}
#endif
-#if (!defined(NO_VtblCall__II_3CIIII_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CJIII_3J) && defined(JNI64))
+#if (!defined(NO_VtblCall__II_3CIIII_3I) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CIIII_3I) && defined(JNI64))
#ifndef JNI64
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CIIII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jintLong arg3, jint arg4, jint arg5, jint arg6, jintLongArray arg7)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CIIII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
#else
-JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJIII_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jintLong arg3, jint arg4, jint arg5, jint arg6, jintLongArray arg7)
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CIIII_3I)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jint arg3, jint arg4, jint arg5, jint arg6, jintArray arg7)
#endif
{
jchar *lparg2=NULL;
- jintLong *lparg7=NULL;
+ jint *lparg7=NULL;
jint rc = 0;
#ifndef JNI64
COM_NATIVE_ENTER(env, that, VtblCall__II_3CIIII_3I_FUNC);
#else
- COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJIII_3J_FUNC);
+ COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CIIII_3I_FUNC);
#endif
if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
- if (arg7) if ((lparg7 = (*env)->GetIntLongArrayElements(env, arg7, NULL)) == NULL) goto fail;
- rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jintLong, jint, jint, jint, jintLong *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6, lparg7);
+ if (arg7) if ((lparg7 = (*env)->GetIntArrayElements(env, arg7, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jint, jint, jint, jint, jint *))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3, arg4, arg5, arg6, lparg7);
fail:
- if (arg7 && lparg7) (*env)->ReleaseIntLongArrayElements(env, arg7, lparg7, 0);
+ if (arg7 && lparg7) (*env)->ReleaseIntArrayElements(env, arg7, lparg7, 0);
if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
#ifndef JNI64
COM_NATIVE_EXIT(env, that, VtblCall__II_3CIIII_3I_FUNC);
#else
- COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CJIII_3J_FUNC);
+ COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CIIII_3I_FUNC);
#endif
return rc;
}
@@ -2752,6 +3458,63 @@ fail:
}
#endif
+#if (!defined(NO_VtblCall__II_3CJ) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jlong arg3)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJ)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jlong arg3)
+#endif
+{
+ jchar *lparg2=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__II_3CJ_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJ_FUNC);
+#endif
+ if (arg2) if ((lparg2 = (*env)->GetCharArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jint)((jint (STDMETHODCALLTYPE *)(jintLong, jchar *, jlong))(*(jintLong **)arg1)[arg0])(arg1, lparg2, arg3);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseCharArrayElements(env, arg2, lparg2, 0);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__II_3CJ_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CJ_FUNC);
+#endif
+ return rc;
+}
+#endif
+
+#if (!defined(NO_VtblCall__II_3CJIII_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CJIII_3J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CJIII_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jlong arg3, jint arg4, jint arg5, jint arg6, jlongArray arg7)
+#else
+JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__IJ_3CJIII_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jlong arg3, jint arg4, jint arg5, jint arg6, jlongArray arg7)
+#endif
+{
+ jchar *lparg2=NULL;
+ jlong *lparg7=NULL;
+ jint rc = 0;
+#ifndef JNI64
+ COM_NATIVE_ENTER(env, that, VtblCall__II_3CJIII_3J_FUNC);
+#else
+ COM_NATIVE_ENTER(env, that, VtblCall__IJ_3CJIII_3J_FUNC);
+#endif
+ 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 *, jlong, jint, jint, jint, jlong *))(*(jintLong **)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);
+#ifndef JNI64
+ COM_NATIVE_EXIT(env, that, VtblCall__II_3CJIII_3J_FUNC);
+#else
+ COM_NATIVE_EXIT(env, that, VtblCall__IJ_3CJIII_3J_FUNC);
+#endif
+ return rc;
+}
+#endif
+
#if (!defined(NO_VtblCall__II_3CJII_3J) && !defined(JNI64)) || (!defined(NO_VtblCall__IJ_3CJII_3J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jint JNICALL COM_NATIVE(VtblCall__II_3CJII_3J)(JNIEnv *env, jclass that, jint arg0, jintLong arg1, jcharArray arg2, jlong arg3, jint arg4, jint arg5, jlongArray arg6)
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 23766d834c..6660b5b12c 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
@@ -14,8 +14,8 @@
#ifdef NATIVE_STATS
-int COM_nativeFunctionCount = 157;
-int COM_nativeFunctionCallCount[157];
+int COM_nativeFunctionCount = 184;
+int COM_nativeFunctionCallCount[184];
char * COM_nativeFunctionNames[] = {
"AccessibleObjectFromWindow",
"CAUUID_1sizeof",
@@ -159,12 +159,12 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IIII",
#else
- "VtblCall__IJJJ",
+ "VtblCall__IJII",
#endif
#ifndef JNI64
"VtblCall__IIIII",
#else
- "VtblCall__IJIIJ",
+ "VtblCall__IJIII",
#endif
#ifndef JNI64
"VtblCall__IIIIII",
@@ -187,6 +187,21 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJJJJJIIII",
#endif
#ifndef JNI64
+ "VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I",
+#else
+ "VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I",
+#endif
+#ifndef JNI64
+ "VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J",
+#else
+ "VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIIIJ",
+#else
+ "VtblCall__IJIIJ",
+#endif
+#ifndef JNI64
"VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2",
#else
"VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2",
@@ -194,12 +209,12 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I",
#else
- "VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J",
+ "VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I",
#endif
#ifndef JNI64
"VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I",
#else
- "VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I",
+ "VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I",
#endif
#ifndef JNI64
"VtblCall__IIII_3I",
@@ -212,6 +227,11 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJII_3J",
#endif
#ifndef JNI64
+ "VtblCall__IIIJ",
+#else
+ "VtblCall__IJIJ",
+#endif
+#ifndef JNI64
"VtblCall__IIIJ_3I",
#else
"VtblCall__IJIJ_3I",
@@ -219,7 +239,7 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I",
#else
- "VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J",
+ "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I",
#endif
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2",
@@ -229,27 +249,42 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II",
#else
- "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ",
+ "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II",
#endif
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I",
#else
+ "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I",
+#endif
+#ifndef JNI64
+ "VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I",
+#else
"VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I",
#endif
#ifndef JNI64
+ "VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ",
+#else
+ "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ",
+#endif
+#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I",
#else
- "VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J",
+ "VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I",
#endif
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2",
#else
+ "VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2",
+#endif
+#ifndef JNI64
+ "VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2",
+#else
"VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2",
#endif
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I",
#else
- "VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J",
+ "VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I",
#endif
#ifndef JNI64
"VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2",
@@ -259,7 +294,7 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IIIZ",
#else
- "VtblCall__IJJZ",
+ "VtblCall__IJIZ",
#endif
#ifndef JNI64
"VtblCall__III_3I",
@@ -269,12 +304,12 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__III_3II_3I",
#else
- "VtblCall__IJI_3JI_3I",
+ "VtblCall__IJI_3II_3I",
#endif
#ifndef JNI64
"VtblCall__III_3I_3I_3I_3I",
#else
- "VtblCall__IJI_3J_3J_3I_3J",
+ "VtblCall__IJI_3I_3I_3I_3I",
#endif
#ifndef JNI64
"VtblCall__III_3J",
@@ -282,16 +317,76 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJI_3J",
#endif
#ifndef JNI64
+ "VtblCall__III_3JI_3I",
+#else
+ "VtblCall__IJI_3JI_3I",
+#endif
+#ifndef JNI64
+ "VtblCall__III_3J_3J_3I_3J",
+#else
+ "VtblCall__IJI_3J_3J_3I_3J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJI",
+#else
+ "VtblCall__IJJI",
+#endif
+#ifndef JNI64
"VtblCall__IIJI_3I",
#else
"VtblCall__IJJI_3I",
#endif
#ifndef JNI64
+ "VtblCall__IIJI_3J",
+#else
+ "VtblCall__IJJI_3J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJJ",
+#else
+ "VtblCall__IJJJ",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J",
+#else
+ "VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I",
+#else
+ "VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J",
+#else
+ "VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J",
+#else
+ "VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J",
+#else
+ "VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J",
+#endif
+#ifndef JNI64
+ "VtblCall__IIJZ",
+#else
+ "VtblCall__IJJZ",
+#endif
+#ifndef JNI64
"VtblCall__IIJ_3I",
#else
"VtblCall__IJJ_3I",
#endif
#ifndef JNI64
+ "VtblCall__IIJ_3J",
+#else
+ "VtblCall__IJJ_3J",
+#endif
+#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2",
#else
"VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CAUUID_2",
@@ -324,12 +419,17 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII",
#else
- "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ",
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII",
#endif
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I",
#else
- "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I",
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I",
+#endif
+#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ",
+#else
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ",
#endif
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2",
@@ -337,13 +437,28 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2",
#endif
#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I",
+#else
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I",
+#endif
+#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I",
#else
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I",
+#endif
+#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J",
+#else
"VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J",
#endif
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I",
#else
+ "VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I",
+#endif
+#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J",
+#else
"VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J",
#endif
#ifndef JNI64
@@ -369,6 +484,11 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ",
#else
+ "VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ",
+#endif
+#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ",
+#else
"VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ",
#endif
#ifndef JNI64
@@ -379,6 +499,11 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I",
#else
+ "VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I",
+#endif
+#ifndef JNI64
+ "VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J",
+#else
"VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J",
#endif
#ifndef JNI64
@@ -394,12 +519,12 @@ char * COM_nativeFunctionNames[] = {
#ifndef JNI64
"VtblCall__II_3CI",
#else
- "VtblCall__IJ_3CJ",
+ "VtblCall__IJ_3CI",
#endif
#ifndef JNI64
"VtblCall__II_3CIIII_3I",
#else
- "VtblCall__IJ_3CJIII_3J",
+ "VtblCall__IJ_3CIIII_3I",
#endif
#ifndef JNI64
"VtblCall__II_3CIII_3I",
@@ -412,6 +537,16 @@ char * COM_nativeFunctionNames[] = {
"VtblCall__IJ_3CIII_3J",
#endif
#ifndef JNI64
+ "VtblCall__II_3CJ",
+#else
+ "VtblCall__IJ_3CJ",
+#endif
+#ifndef JNI64
+ "VtblCall__II_3CJIII_3J",
+#else
+ "VtblCall__IJ_3CJIII_3J",
+#endif
+#ifndef JNI64
"VtblCall__II_3CJII_3J",
#else
"VtblCall__IJ_3CJII_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 5aca2992f2..614b321940 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
@@ -167,12 +167,12 @@ typedef enum {
#ifndef JNI64
VtblCall__IIII_FUNC,
#else
- VtblCall__IJJJ_FUNC,
+ VtblCall__IJII_FUNC,
#endif
#ifndef JNI64
VtblCall__IIIII_FUNC,
#else
- VtblCall__IJIIJ_FUNC,
+ VtblCall__IJIII_FUNC,
#endif
#ifndef JNI64
VtblCall__IIIIII_FUNC,
@@ -195,6 +195,21 @@ typedef enum {
VtblCall__IJJJJJIIII_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC,
+#else
+ VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC,
+#else
+ VtblCall__IJIIILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIIIJ_FUNC,
+#else
+ VtblCall__IJIIJ_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
#else
VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_DVTARGETDEVICE_2Lorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
@@ -202,12 +217,12 @@ typedef enum {
#ifndef JNI64
VtblCall__IIIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC,
#else
- VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC,
+ VtblCall__IJIILorg_eclipse_swt_internal_ole_win32_GUID_2I_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__IIIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
#else
- VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
+ VtblCall__IJIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
#endif
#ifndef JNI64
VtblCall__IIII_3I_FUNC,
@@ -220,6 +235,11 @@ typedef enum {
VtblCall__IJII_3J_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IIIJ_FUNC,
+#else
+ VtblCall__IJIJ_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IIIJ_3I_FUNC,
#else
VtblCall__IJIJ_3I_FUNC,
@@ -227,7 +247,7 @@ typedef enum {
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC,
#else
- VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC,
+ VtblCall__IJILorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2_FUNC,
@@ -237,27 +257,42 @@ typedef enum {
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC,
#else
- VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC,
+ VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2II_FUNC,
#endif
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC,
#else
+ VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2ILorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC,
+#else
VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2IILorg_eclipse_swt_internal_ole_win32_DISPPARAMS_2JLorg_eclipse_swt_internal_ole_win32_EXCEPINFO_2_3I_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IIILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC,
+#else
+ VtblCall__IJILorg_eclipse_swt_internal_ole_win32_GUID_2JJ_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC,
#else
- VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC,
+ VtblCall__IJILorg_eclipse_swt_internal_ole_win32_STATSTG_2_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
#else
+ VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2IIILorg_eclipse_swt_internal_win32_RECT_2_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC,
+#else
VtblCall__IJILorg_eclipse_swt_internal_win32_MSG_2JIJLorg_eclipse_swt_internal_win32_RECT_2_FUNC,
#endif
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
#else
- VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC,
+ VtblCall__IJILorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
#endif
#ifndef JNI64
VtblCall__IIILorg_eclipse_swt_internal_win32_SIZE_2_FUNC,
@@ -267,7 +302,7 @@ typedef enum {
#ifndef JNI64
VtblCall__IIIZ_FUNC,
#else
- VtblCall__IJJZ_FUNC,
+ VtblCall__IJIZ_FUNC,
#endif
#ifndef JNI64
VtblCall__III_3I_FUNC,
@@ -277,12 +312,12 @@ typedef enum {
#ifndef JNI64
VtblCall__III_3II_3I_FUNC,
#else
- VtblCall__IJI_3JI_3I_FUNC,
+ VtblCall__IJI_3II_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__III_3I_3I_3I_3I_FUNC,
#else
- VtblCall__IJI_3J_3J_3I_3J_FUNC,
+ VtblCall__IJI_3I_3I_3I_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__III_3J_FUNC,
@@ -290,16 +325,76 @@ typedef enum {
VtblCall__IJI_3J_FUNC,
#endif
#ifndef JNI64
+ VtblCall__III_3JI_3I_FUNC,
+#else
+ VtblCall__IJI_3JI_3I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__III_3J_3J_3I_3J_FUNC,
+#else
+ VtblCall__IJI_3J_3J_3I_3J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJI_FUNC,
+#else
+ VtblCall__IJJI_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IIJI_3I_FUNC,
#else
VtblCall__IJJI_3I_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IIJI_3J_FUNC,
+#else
+ VtblCall__IJJI_3J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJJ_FUNC,
+#else
+ VtblCall__IJJJ_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC,
+#else
+ VtblCall__IJJJLorg_eclipse_swt_internal_ole_win32_GUID_2J_3J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
+#else
+ VtblCall__IJJJLorg_eclipse_swt_internal_win32_POINT_2I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC,
+#else
+ VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_FORMATETC_2_3J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC,
+#else
+ VtblCall__IJJLorg_eclipse_swt_internal_ole_win32_STATSTG_2_3J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC,
+#else
+ VtblCall__IJJLorg_eclipse_swt_internal_win32_POINT_2J_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IIJZ_FUNC,
+#else
+ VtblCall__IJJZ_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IIJ_3I_FUNC,
#else
VtblCall__IJJ_3I_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IIJ_3J_FUNC,
+#else
+ VtblCall__IJJ_3J_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC,
#else
VtblCall__IJLorg_eclipse_swt_internal_ole_win32_CAUUID_2_FUNC,
@@ -332,12 +427,17 @@ typedef enum {
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC,
#else
- VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC,
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIII_FUNC,
#endif
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC,
#else
- VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC,
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2III_3I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC,
+#else
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2IIJJ_FUNC,
#endif
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2_FUNC,
@@ -345,13 +445,28 @@ typedef enum {
VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2ILorg_eclipse_swt_internal_ole_win32_OLECMD_2Lorg_eclipse_swt_internal_ole_win32_OLECMDTEXT_2_FUNC,
#endif
#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC,
+#else
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2JII_3I_FUNC,
+#endif
+#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC,
#else
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC,
+#else
VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2Lorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC,
#endif
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC,
#else
+ VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC,
+#else
VtblCall__IJLorg_eclipse_swt_internal_ole_win32_GUID_2_3J_FUNC,
#endif
#ifndef JNI64
@@ -377,6 +492,11 @@ typedef enum {
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC,
#else
+ VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2IZ_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC,
+#else
VtblCall__IJLorg_eclipse_swt_internal_win32_RECT_2JZ_FUNC,
#endif
#ifndef JNI64
@@ -387,6 +507,11 @@ typedef enum {
#ifndef JNI64
VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC,
#else
+ VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2I_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__IILorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC,
+#else
VtblCall__IJLorg_eclipse_swt_internal_win32_SHDRAGIMAGE_2J_FUNC,
#endif
#ifndef JNI64
@@ -402,12 +527,12 @@ typedef enum {
#ifndef JNI64
VtblCall__II_3CI_FUNC,
#else
- VtblCall__IJ_3CJ_FUNC,
+ VtblCall__IJ_3CI_FUNC,
#endif
#ifndef JNI64
VtblCall__II_3CIIII_3I_FUNC,
#else
- VtblCall__IJ_3CJIII_3J_FUNC,
+ VtblCall__IJ_3CIIII_3I_FUNC,
#endif
#ifndef JNI64
VtblCall__II_3CIII_3I_FUNC,
@@ -420,6 +545,16 @@ typedef enum {
VtblCall__IJ_3CIII_3J_FUNC,
#endif
#ifndef JNI64
+ VtblCall__II_3CJ_FUNC,
+#else
+ VtblCall__IJ_3CJ_FUNC,
+#endif
+#ifndef JNI64
+ VtblCall__II_3CJIII_3J_FUNC,
+#else
+ VtblCall__IJ_3CJIII_3J_FUNC,
+#endif
+#ifndef JNI64
VtblCall__II_3CJII_3J_FUNC,
#else
VtblCall__IJ_3CJII_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 f3048876b8..5bf55452b9 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
@@ -42,6 +42,7 @@ public class COM extends OS {
//public static final GUID IIDIDataAdviseHolder = IIDFromString("{00000110-0000-0000-C000-000000000046}"); //$NON-NLS-1$
public static final GUID IIDIDataObject = IIDFromString("{0000010E-0000-0000-C000-000000000046}"); //$NON-NLS-1$
public static final GUID IIDIDispatch = IIDFromString("{00020400-0000-0000-C000-000000000046}"); //$NON-NLS-1$
+ public static final GUID IIDIDispatchEx = IIDFromString("{A6EF9860-C720-11D0-9337-00A0C90DCAA9}"); //$NON-NLS-1$
public static final GUID IIDIDocHostUIHandler = IIDFromString("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
public static final GUID IIDIDocHostShowUI = IIDFromString("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}"); //$NON-NLS-1$
public static final GUID IIDIDropSource = IIDFromString("{00000121-0000-0000-C000-000000000046}"); //$NON-NLS-1$
@@ -63,6 +64,7 @@ public class COM extends OS {
//public static final GUID IIDIFontDisp = IIDFromString("{BEF6E003-A874-101A-8BBA-00AA00300CAB}"); //$NON-NLS-1$
public static final /*GUID*/ String IIDIHTMLDocumentEvents2 = /*IIDFromString(*/"{3050F613-98B5-11CF-BB82-00AA00BDCE0B}"/*)*/;
public static final GUID IIDIInternetSecurityManager = IIDFromString("{79eac9ee-baf9-11ce-8c82-00aa004ba90b}"); //$NON-NLS-1$
+ public static final GUID IIDIJScriptTypeInfo = IIDFromString("{C59C6B12-F6C1-11CF-8835-00A0C911E8B2}"); //$NON-NLS-1$
//public static final GUID IIDILockBytes = IIDFromString("{0000000A-0000-0000-C000-000000000046}"); //$NON-NLS-1$
//public static final GUID IIDIMalloc = IIDFromString("{00000002-0000-0000-C000-000000000046}"); //$NON-NLS-1$
//public static final GUID IIDIMallocSpy = IIDFromString("{0000001D-0000-0000-C000-000000000046}"); //$NON-NLS-1$
@@ -167,9 +169,11 @@ public class COM extends OS {
//public static final int COINIT_SPEED_OVER_MEMORY = 8;
public static final int DATADIR_GET = 1;
public static final int DATADIR_SET = 2;
+ public static final int DISPATCH_CONSTRUCT = 0x4000;
public static final int DISP_E_EXCEPTION = 0x80020009;
public static final int DISP_E_MEMBERNOTFOUND = -2147352573;
public static final int DISP_E_UNKNOWNINTERFACE = 0x80020001;
+ public static final int DISP_E_UNKNOWNNAME = 0x80020006;
//public static final int DISPID_AMBIENT_APPEARANCE = -716;
//public static final int DISPID_AMBIENT_AUTOCLIP = -715;
public static final int DISPID_AMBIENT_BACKCOLOR = -701;
@@ -376,8 +380,8 @@ public class COM extends OS {
//public static final short DISPID_EVALUATE = -5;
//public static final short DISPID_NEWENUM = -4;
public static final short DISPID_PROPERTYPUT = -3;
- //public static final short DISPID_UNKNOWN = -1;
- //public static final short DISPID_VALUE = 0;
+ public static final short DISPID_UNKNOWN = -1;
+ public static final short DISPID_VALUE = 0;
public static final short VT_BOOL = 11;
public static final short VT_BSTR = 8;
public static final short VT_BYREF = 16384;
@@ -641,52 +645,70 @@ public static final native void VariantInit(int /*long*/ pvarg);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int /*long*/ arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, POINT arg2, int arg3);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, POINT arg1, int /*long*/ arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, POINT arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, POINT arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, POINT arg1, int arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, POINT arg1, long arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, POINT arg0, int arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, SHDRAGIMAGE arg0, int /*long*/ arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, SHDRAGIMAGE arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, SHDRAGIMAGE arg0, long arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int[] arg4);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, long[] arg4);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, long[] arg4);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int /*long*/ arg1, int arg2, int arg3, int arg4, int /*long*/[] arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, int arg2, int arg3, int arg4, long[] arg5);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, int[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int[] arg2);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int /*long*/ arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, DVTARGETDEVICE arg2, SIZE arg3);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, int /*long*/ arg1, GUID arg2, int /*long*/ arg3, int /*long*/[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, GUID arg2, int arg3, int [] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, GUID arg2, long arg3, long [] arg4);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, FORMATETC arg1, int /*long*/[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, FORMATETC arg1, int [] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, FORMATETC arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int /*long*/ arg2, int /*long*/ arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, long arg2, long arg3);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, int /*long*/ arg5, EXCEPINFO arg6, int[] arg7);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, int arg5, EXCEPINFO arg6, int[] arg7);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, GUID arg1, int arg2, int arg3, DISPPARAMS arg4, long arg5, EXCEPINFO arg6, int[] arg7);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, STATSTG arg1, int /*long*/[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, STATSTG arg1, int [] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, STATSTG arg1, long[] arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, MSG arg0);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, MSG arg1, int /*long*/ arg2, int arg3, int /*long*/ arg4, RECT arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, MSG arg1, int arg2, int arg3, int arg4, RECT arg5);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, MSG arg1, long arg2, int arg3, long arg4, RECT arg5);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, SIZE arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int /*long*/ arg0, boolean arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, boolean arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, boolean arg1);
public static final native int VtblCall (int fnNumber, int /*long*/ ppVtbl, boolean arg0);
@@ -697,26 +719,36 @@ public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, FORMA
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, FORMATETC arg0, STGMEDIUM arg1, boolean arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int /*long*/[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int[] arg1);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, long[] arg1);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, GUID arg1, int /*long*/[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, GUID arg1, int[] arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, GUID arg1, long[] arg2);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int /*long*/ arg1, int arg2, int arg3, int[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, long arg1, int arg2, int arg3, int[] arg4);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, int /*long*/ arg3, int /*long*/ arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, int arg3, int arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, int arg2, long arg3, long arg4);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, GUID arg0, int arg1, OLECMD arg2, OLECMDTEXT arg3);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, LICINFO arg0);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, int /*long*/ arg1, boolean arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, int arg1, boolean arg2);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, long arg1, boolean arg2);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0, RECT arg1);
public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, RECT arg0);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int /*long*/[] arg1, int /*long*/[] arg2, int[] arg3, int /*long*/[] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int [] arg1, int [] arg2, int[] arg3, int [] arg4);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1, long[] arg2, int[] arg3, long[] arg4);
+
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int [] arg1, int arg2, int[] arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1, int arg2, int[] arg3);
-public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int /*long*/[] arg1, int arg2, int[] arg3);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, int arg4, EXCEPINFO arg5, int arg6);
+public static final native int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, DISPPARAMS arg3, long arg4, EXCEPINFO arg5, long arg6);
/** @param pStg cast=(IStorage *) */
public static final native int WriteClassStg(int /*long*/ pStg, GUID rclsid);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
index 76a674c100..e4e9905bf9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
@@ -12,8 +12,8 @@ package org.eclipse.swt.internal.ole.win32;
import org.eclipse.swt.internal.win32.*;
-public class IDispatch extends IUnknown
-{
+public class IDispatch extends IUnknown {
+
public IDispatch(int /*long*/ address) {
super(address);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java
new file mode 100644
index 0000000000..76e18752b3
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatchEx.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.ole.win32;
+
+public class IDispatchEx extends IDispatch {
+
+public IDispatchEx (int /*long*/ address) {
+ super (address);
+}
+
+public int GetDispID (int /*long*/ bstrName, int grfdex, int[] pid) {
+ return COM.VtblCall (7, address, bstrName, grfdex, pid);
+}
+
+public int InvokeEx (int id, int lcid, int wFlags, DISPPARAMS pdp, int /*long*/ pvarRes, EXCEPINFO pei, int /*long*/ pspCaller) {
+ return COM.VtblCall (8, address, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller);
+}
+
+public int DeleteMemberByName (int /*long*/ bstrName, int grfdex) {
+ return COM.VtblCall (9, address, bstrName, grfdex);
+}
+
+public int DeleteMemberByDispID (int id) {
+ return COM.VtblCall (10, address, id);
+}
+
+public int GetMemberProperties (int id, int grfdexFetch, int[] pgrfdex) {
+ return COM.VtblCall (11, address, id, grfdexFetch, pgrfdex);
+}
+
+public int GetMemberName (int id, int /*long*/[] pbstrName) {
+ return COM.VtblCall (12, address, id, pbstrName);
+}
+
+public int GetNextDispID (int grfdex, int id, int[] pid) {
+ return COM.VtblCall (13, address, grfdex, id, pid);
+}
+
+public int GetNameSpaceParent (int /*long*/[] ppunk) {
+ return COM.VtblCall (14, address, ppunk);
+}
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/SWT.java b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/SWT.java
index c769ecf62b..bccdcc65e4 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/SWT.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/SWT.java
@@ -3096,6 +3096,13 @@ public class SWT {
*/
public static final int ERROR_INVALID_FONT = 48;
+ /**
+ * SWT error constant indicating that an attempt was made to
+ * use an BrowserFunction object which had already been disposed
+ * (value is 49).
+ */
+ public static final int ERROR_FUNCTION_DISPOSED = 49;
+
/**
* Constant indicating that an image or operation is of type bitmap (value is 0).
*/
diff --git a/bundles/org.eclipse.swt/components/external.idl b/bundles/org.eclipse.swt/components/external.idl
new file mode 100644
index 0000000000..fbc6d82b2e
--- /dev/null
+++ b/bundles/org.eclipse.swt/components/external.idl
@@ -0,0 +1,10 @@
+// to compile: xpidl -m typelib -I J:\teamswt\swt-builddir\gecko-sdk\idl\ -e External.xpt External.idl
+
+#include "nsISupports.idl"
+#include "nsIVariant.idl"
+
+[scriptable, uuid(ded01d20-ba6f-11dd-ad8b-0800200c9a66)]
+
+interface External : nsISupports {
+ nsIVariant callJava (in unsigned long index, in nsIVariant args);
+};
diff --git a/bundles/org.eclipse.swt/components/external.xpt b/bundles/org.eclipse.swt/components/external.xpt
new file mode 100644
index 0000000000..f57da7eddb
--- /dev/null
+++ b/bundles/org.eclipse.swt/components/external.xpt
Binary files differ