Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java60
1 files changed, 0 insertions, 60 deletions
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
deleted file mode 100644
index e9dc3fa832..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IDispatch.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.swt.internal.ole.win32;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2001.
- * All Rights Reserved
- */
-import org.eclipse.swt.internal.win32.*;
-
-public class IDispatch extends IUnknown
-{
-public IDispatch(int address) {
- super(address);
-}
-public int GetIDsOfNames(GUID riid, String[] rgszNames, int cNames, int lcid, int[] rgDispId) {
-
- char[] buffer;
- int size = rgszNames.length;
-
- // create an array to hold the addresses
- int hHeap = OS.GetProcessHeap();
- int ppNames = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, size*4);
- int[] memTracker = new int[size];
-
- try {
- // add the address of each string to the array
-
- for (int i=0; i<size; i++){
- // create a null terminated array of char for each String
- int nameSize = rgszNames[i].length();
- buffer = new char[nameSize +1];
- rgszNames[i].getChars(0, nameSize, buffer, 0);
- // get the address of the start of the array of char
- int pName = OS.HeapAlloc(hHeap, OS.HEAP_ZERO_MEMORY, buffer.length * 2);
- OS.MoveMemory(pName, buffer, buffer.length * 2);
- // copy the address to the array of addresses
- COM.MoveMemory(ppNames + 4*i, new int[]{pName}, 4);
- // keep track of the Global Memory so we can free it
- memTracker[i] = pName;
- }
-
- return COM.VtblCall(5, address, new GUID(), ppNames, cNames, lcid, rgDispId);
-
- } finally {
- // free the memory
- for (int i=0; i<memTracker.length; i++){
- OS.HeapFree(hHeap, 0, memTracker[i]);
- }
- OS.HeapFree(hHeap, 0, ppNames);
- }
-}
-public int GetTypeInfo(int iTInfo, int lcid, int[] ppTInfo ){
- return COM.VtblCall(4, address, iTInfo, lcid, ppTInfo);
-}
-public int GetTypeInfoCount(int[] pctinfo ){
- return COM.VtblCall(3, address, pctinfo);
-}
-public int Invoke(int dispIdMember, GUID riid, int lcid, int dwFlags, DISPPARAMS pDispParams, int pVarResult, EXCEPINFO pExcepInfo, int pArgErr[]) {
- return COM.VtblCall(6, address, dispIdMember, riid, lcid, dwFlags, pDispParams, pVarResult, pExcepInfo, pArgErr);
-}
-}

Back to the top