This commit is contained in:
clay_shooter
2005-01-09 04:08:00 +00:00
parent 8319fd4df9
commit 34210e20a7

View File

@@ -37,7 +37,16 @@ import java.lang.reflect.Array;
*/ */
public class Dispatch extends JacobObject public class Dispatch extends JacobObject
{ {
/**
* why is this public?
* it could be protected and the Dispatch subclasses could still
* get it.
* This makes it hard to rename this thing
*/
public int m_pDispatch; public int m_pDispatch;
/** program Id passed in by ActiveX components in their constructor */
private String programId = null;
public static final int LOCALE_SYSTEM_DEFAULT = 2048; public static final int LOCALE_SYSTEM_DEFAULT = 2048;
public static final int Method = 1; public static final int Method = 1;
public static final int Get = 2; public static final int Get = 2;
@@ -111,9 +120,9 @@ public class Dispatch extends JacobObject
public static final int DISPID_AMBIENT_CHARSET = -727; public static final int DISPID_AMBIENT_CHARSET = -727;
public static final int DISPID_AMBIENT_TRANSFERPRIORITY = -728; public static final int DISPID_AMBIENT_TRANSFERPRIORITY = -728;
// map args based on msdn doc // map args based on msdn doc
protected static Variant obj2variant(Object o) protected static Variant obj2variant(Object o) {
{
if (o == null) if (o == null)
return new Variant(); return new Variant();
if (o instanceof Variant) if (o instanceof Variant)
@@ -138,35 +147,28 @@ public class Dispatch extends JacobObject
// automatically convert arrays using reflection // automatically convert arrays using reflection
Class c1 = o.getClass(); Class c1 = o.getClass();
SafeArray sa = null; SafeArray sa = null;
if (c1.isArray()) if (c1.isArray()) {
{
int len1 = Array.getLength(o); int len1 = Array.getLength(o);
Object first = Array.get(o, 0); Object first = Array.get(o, 0);
if (first.getClass().isArray()) if (first.getClass().isArray()) {
{
int max = 0; int max = 0;
for (int i = 0; i < len1; i++) for (int i = 0; i < len1; i++) {
{
Object e1 = Array.get(o, i); Object e1 = Array.get(o, i);
int len2 = Array.getLength(e1); int len2 = Array.getLength(e1);
if (max < len2) if (max < len2) {
{
max = len2; max = len2;
} }
} }
sa = new SafeArray(Variant.VariantVariant, len1, max); sa = new SafeArray(Variant.VariantVariant, len1, max);
for (int i = 0; i < len1; i++) for (int i = 0; i < len1; i++) {
{
Object e1 = Array.get(o, i); Object e1 = Array.get(o, i);
for (int j = 0; j < Array.getLength(e1); j++) for (int j = 0; j < Array.getLength(e1); j++) {
{
sa.setVariant(i, j, obj2variant(Array.get(e1, j))); sa.setVariant(i, j, obj2variant(Array.get(e1, j)));
} }
} }
} else { } else {
sa = new SafeArray(Variant.VariantVariant, len1); sa = new SafeArray(Variant.VariantVariant, len1);
for (int i = 0; i < len1; i++) for (int i = 0; i < len1; i++) {
{
sa.setVariant(i, obj2variant(Array.get(o, i))); sa.setVariant(i, obj2variant(Array.get(o, i)));
} }
} }
@@ -175,9 +177,12 @@ public class Dispatch extends JacobObject
throw new ClassCastException("cannot convert to Variant"); throw new ClassCastException("cannot convert to Variant");
} }
// same as above, for an array /**
protected static Variant[] obj2variant(Object[] o) * same as above, for an array
{ * @param o
* @return Variant[]
*/
protected static Variant[] obj2variant(Object[] o) {
Variant vArg[] = new Variant[o.length]; Variant vArg[] = new Variant[o.length];
for (int i = 0; i < o.length; i++) { for (int i = 0; i < o.length; i++) {
vArg[i] = obj2variant(o[i]); vArg[i] = obj2variant(o[i]);
@@ -185,355 +190,385 @@ public class Dispatch extends JacobObject
return vArg; return vArg;
} }
// constructors /**
public Dispatch() { m_pDispatch = 0; } * zero argument constructor that sets the dispatch pointer to 0
public Dispatch(String progid) { createInstance(progid); } */
public Dispatch() {
m_pDispatch = 0;
}
// return a different interface by IID string /**
* Constructor that calls createInstance with progid. This is the
* constructor used by the ActiveXComponent
*
* @param requestedProgramId
*/
public Dispatch(String requestedProgramId) {
programId = requestedProgramId;
createInstance(requestedProgramId);
}
/**
* return a different interface by IID string
*
* @param iid
* @return Dispatch a disptach that matches ??
*/
public native Dispatch QueryInterface(String iid); public native Dispatch QueryInterface(String iid);
// this only gets called from JNI /**
protected Dispatch(int pDisp) { m_pDispatch = pDisp; } * Constructor that only gets called from JNI
*
* @param pDisp
*/
protected Dispatch(int pDisp) {
m_pDispatch = pDisp;
}
/**
* native call createIstnace only used by the constructor with the same parm
* type could this be private?
*
* @param progid
*/
protected native void createInstance(String progid); protected native void createInstance(String progid);
// call this to explicitly release the com object before gc public String getProgramId(){
return programId;
}
/**
* call this to explicitly release the com object before gc
*/
public native void release(); public native void release();
public static void put_Casesensitive(Object disp, String name, Object val) /**
{ * not implemented yet
*
* @param disp
* @param name
* @param val
* @throws ClassCastException
* because???
*/
public static void put_Casesensitive(Object disp, String name, Object val) {
throw new ClassCastException("not implemented yet"); throw new ClassCastException("not implemented yet");
} }
// eliminate _Guid arg // eliminate _Guid arg
public static void invokeSubv(Object disp, String name, int dispID, public static void invokeSubv(Object disp, String name, int dispID,
int lcid, int wFlags, Variant[] vArg, int[] uArgErr) int lcid, int wFlags, Variant[] vArg, int[] uArgErr) {
{
invokev(disp, name, dispID, lcid, wFlags, vArg, uArgErr); invokev(disp, name, dispID, lcid, wFlags, vArg, uArgErr);
} }
public static void invokeSubv(Object disp, String name, int wFlags, Variant[] vArg, int[] uArgErr) public static void invokeSubv(Object disp, String name, int wFlags,
{ Variant[] vArg, int[] uArgErr) {
invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr); invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr);
} }
public static void invokeSubv(Object disp, int dispID, int wFlags, Variant[] vArg, int[] uArgErr) public static void invokeSubv(Object disp, int dispID, int wFlags,
{ Variant[] vArg, int[] uArgErr) {
invokev(disp, null, dispID, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr); invokev(disp, null, dispID, LOCALE_SYSTEM_DEFAULT, wFlags, vArg,
uArgErr);
} }
public static Variant callN_CaseSensitive(Object disp, String name, Object[] values) public static Variant callN_CaseSensitive(Object disp, String name,
{ Object[] values) {
throw new ClassCastException("not implemented yet"); throw new ClassCastException("not implemented yet");
} }
public static void callSubN(Object disp, String name, Object[] args) public static void callSubN(Object disp, String name, Object[] args) {
{ invokeSubv(disp, name, Method | Get, obj2variant(args),
invokeSubv(disp, name, Method|Get, obj2variant(args), new int[args.length]); new int[args.length]);
} }
public static void callSubN(Object disp, int dispID, Object[] args) public static void callSubN(Object disp, int dispID, Object[] args) {
{ invokeSubv(disp, dispID, Method | Get, obj2variant(args),
invokeSubv(disp, dispID, Method|Get, obj2variant(args), new int[args.length]); new int[args.length]);
} }
public static int getIDOfName(Object disp, String name) public static int getIDOfName(Object disp, String name) {
{ int ids[] = getIDsOfNames(disp, LOCALE_SYSTEM_DEFAULT,
int ids[] = getIDsOfNames(disp, LOCALE_SYSTEM_DEFAULT, new String[] {name}); new String[] { name });
return ids[0]; return ids[0];
} }
// eliminated _Guid argument // eliminated _Guid argument
public static native int[] getIDsOfNames(Object disp, int lcid, String[] names); public static native int[] getIDsOfNames(Object disp, int lcid,
String[] names);
// eliminated _Guid argument // eliminated _Guid argument
public static int[] getIDsOfNames(Object disp, String[] names) public static int[] getIDsOfNames(Object disp, String[] names) {
{
return getIDsOfNames(disp, LOCALE_SYSTEM_DEFAULT, names); return getIDsOfNames(disp, LOCALE_SYSTEM_DEFAULT, names);
} }
public static Variant callN(Object disp, String name, Object[] args) public static Variant callN(Object disp, String name, Object[] args) {
{ return invokev(disp, name, Method | Get, obj2variant(args),
return invokev(disp, name, Method|Get, obj2variant(args), new int[args.length]); new int[args.length]);
} }
public static Variant callN(Object disp, int dispID, Object[] args) public static Variant callN(Object disp, int dispID, Object[] args) {
{ return invokev(disp, dispID, Method | Get, obj2variant(args),
return invokev(disp, dispID, Method|Get, obj2variant(args), new int[args.length]); new int[args.length]);
} }
public static Variant invoke(Object disp, String name, int dispID, int lcid, int wFlags, Object[] oArg, int[] uArgErr) public static Variant invoke(Object disp, String name, int dispID,
{ int lcid, int wFlags, Object[] oArg, int[] uArgErr) {
return invokev(disp, name, dispID, lcid, wFlags, obj2variant(oArg), uArgErr); return invokev(disp, name, dispID, lcid, wFlags, obj2variant(oArg),
uArgErr);
} }
public static Variant invoke(Object disp, String name, int wFlags, Object[] oArg, int[] uArgErr) public static Variant invoke(Object disp, String name, int wFlags,
{ Object[] oArg, int[] uArgErr) {
return invokev(disp, name, wFlags, obj2variant(oArg), uArgErr); return invokev(disp, name, wFlags, obj2variant(oArg), uArgErr);
} }
public static Variant invoke(Object disp, int dispID, int wFlags, Object[] oArg, int[] uArgErr) public static Variant invoke(Object disp, int dispID, int wFlags,
{ Object[] oArg, int[] uArgErr) {
return invokev(disp, dispID, wFlags, obj2variant(oArg), uArgErr); return invokev(disp, dispID, wFlags, obj2variant(oArg), uArgErr);
} }
public static Variant call(Object disp, String name) public static Variant call(Object disp, String name) {
{
return callN(disp, name, new Variant[0]); return callN(disp, name, new Variant[0]);
} }
public static Variant call(Object disp, String name, Object a1) public static Variant call(Object disp, String name, Object a1) {
{
return callN(disp, name, new Object[] { a1 }); return callN(disp, name, new Object[] { a1 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2) public static Variant call(Object disp, String name, Object a1, Object a2) {
{
return callN(disp, name, new Object[] { a1, a2 }); return callN(disp, name, new Object[] { a1, a2 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3) {
return callN(disp, name, new Object[] { a1, a2, a3 }); return callN(disp, name, new Object[] { a1, a2, a3 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3, Object a4) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4) {
return callN(disp, name, new Object[] { a1, a2, a3, a4 }); return callN(disp, name, new Object[] { a1, a2, a3, a4 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5) {
return callN(disp, name, new Object[] { a1, a2, a3, a4, a5 }); return callN(disp, name, new Object[] { a1, a2, a3, a4, a5 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6) {
return callN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6 }); return callN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7) {
return callN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7 }); return callN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7 });
} }
public static Variant call(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) public static Variant call(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) {
return callN(disp, name, new Object[] {a1, a2, a3, a4, a5, a6, a7, a8}); return callN(disp, name,
new Object[] { a1, a2, a3, a4, a5, a6, a7, a8 });
} }
public static Variant call(Object disp, int dispid) public static Variant call(Object disp, int dispid) {
{
return callN(disp, dispid, new Variant[0]); return callN(disp, dispid, new Variant[0]);
} }
public static Variant call(Object disp, int dispid, Object a1) public static Variant call(Object disp, int dispid, Object a1) {
{
return callN(disp, dispid, new Object[] { a1 }); return callN(disp, dispid, new Object[] { a1 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2) public static Variant call(Object disp, int dispid, Object a1, Object a2) {
{
return callN(disp, dispid, new Object[] { a1, a2 }); return callN(disp, dispid, new Object[] { a1, a2 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3) {
return callN(disp, dispid, new Object[] { a1, a2, a3 }); return callN(disp, dispid, new Object[] { a1, a2, a3 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4) {
return callN(disp, dispid, new Object[] { a1, a2, a3, a4 }); return callN(disp, dispid, new Object[] { a1, a2, a3, a4 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5) {
return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5 }); return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6) {
return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6 }); return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7) {
return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7 }); return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7 });
} }
public static Variant call(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) public static Variant call(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) {
return callN(disp, dispid, new Object[] {a1, a2, a3, a4, a5, a6, a7, a8}); return callN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7,
a8 });
} }
public static void put(Object disp, String name, Object val) public static void put(Object disp, String name, Object val) {
{
invoke(disp, name, Put, new Object[] { val }, new int[1]); invoke(disp, name, Put, new Object[] { val }, new int[1]);
} }
public static void put(Object disp, int dispid, Object val) public static void put(Object disp, int dispid, Object val) {
{
invoke(disp, dispid, Put, new Object[] { val }, new int[1]); invoke(disp, dispid, Put, new Object[] { val }, new int[1]);
} }
// removed _Guid argument // removed _Guid argument
public static native Variant invokev(Object disp, String name, public static native Variant invokev(Object disp, String name, int dispID,
int dispID, int lcid, int wFlags, Variant[] vArg, int[] uArgErr); int lcid, int wFlags, Variant[] vArg, int[] uArgErr);
public static Variant invokev(Object disp, String name, int wFlags, public static Variant invokev(Object disp, String name, int wFlags,
Variant[] vArg, int[] uArgErr) Variant[] vArg, int[] uArgErr) {
{
if (!(disp instanceof Dispatch)) if (!(disp instanceof Dispatch))
throw new ClassCastException("Dispatch object expected"); throw new ClassCastException("Dispatch object expected");
return invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr); return invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg,
uArgErr);
} }
public static Variant invokev(Object disp, String name, int wFlags, public static Variant invokev(Object disp, String name, int wFlags,
Variant[] vArg, int[] uArgErr, int wFlagsEx) Variant[] vArg, int[] uArgErr, int wFlagsEx) {
{
if (!(disp instanceof Dispatch)) if (!(disp instanceof Dispatch))
throw new ClassCastException("Dispatch object expected"); throw new ClassCastException("Dispatch object expected");
// do not implement IDispatchEx for now // do not implement IDispatchEx for now
return invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr); return invokev(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, vArg,
uArgErr);
} }
public static Variant invokev(Object disp, int dispID, int wFlags, Variant[] vArg, int[] uArgErr) public static Variant invokev(Object disp, int dispID, int wFlags,
{ Variant[] vArg, int[] uArgErr) {
if (!(disp instanceof Dispatch)) if (!(disp instanceof Dispatch))
throw new ClassCastException("Dispatch object expected"); throw new ClassCastException("Dispatch object expected");
return invokev(disp, null, dispID, LOCALE_SYSTEM_DEFAULT, wFlags, vArg, uArgErr); return invokev(disp, null, dispID, LOCALE_SYSTEM_DEFAULT, wFlags, vArg,
uArgErr);
} }
// removed _Guid argument // removed _Guid argument
public static void invokeSub(Object disp, String name, int dispid, public static void invokeSub(Object disp, String name, int dispid,
int lcid, int wFlags, Object[] oArg, int[] uArgErr) int lcid, int wFlags, Object[] oArg, int[] uArgErr) {
{
invokeSubv(disp, name, dispid, lcid, wFlags, obj2variant(oArg), uArgErr); invokeSubv(disp, name, dispid, lcid, wFlags, obj2variant(oArg), uArgErr);
} }
public static void invokeSub(Object disp, String name, int wFlags, Object[] oArg, int[] uArgErr) public static void invokeSub(Object disp, String name, int wFlags,
{ Object[] oArg, int[] uArgErr) {
invokeSub(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, oArg, uArgErr); invokeSub(disp, name, 0, LOCALE_SYSTEM_DEFAULT, wFlags, oArg, uArgErr);
} }
public static void invokeSub(Object disp, int dispid, int wFlags, Object[] oArg, int[] uArgErr) public static void invokeSub(Object disp, int dispid, int wFlags,
{ Object[] oArg, int[] uArgErr) {
invokeSub(disp, null, dispid, LOCALE_SYSTEM_DEFAULT, wFlags, oArg, uArgErr); invokeSub(disp, null, dispid, LOCALE_SYSTEM_DEFAULT, wFlags, oArg,
uArgErr);
} }
public static void callSub(Object disp, String name) public static void callSub(Object disp, String name) {
{
callSubN(disp, name, new Object[0]); callSubN(disp, name, new Object[0]);
} }
public static void callSub(Object disp, String name, Object a1) public static void callSub(Object disp, String name, Object a1) {
{
callSubN(disp, name, new Object[] { a1 }); callSubN(disp, name, new Object[] { a1 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2) public static void callSub(Object disp, String name, Object a1, Object a2) {
{
callSubN(disp, name, new Object[] { a1, a2 }); callSubN(disp, name, new Object[] { a1, a2 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3) {
callSubN(disp, name, new Object[] { a1, a2, a3 }); callSubN(disp, name, new Object[] { a1, a2, a3 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3, Object a4) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4) {
callSubN(disp, name, new Object[] { a1, a2, a3, a4 }); callSubN(disp, name, new Object[] { a1, a2, a3, a4 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5) {
callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5 }); callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6) {
callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6 }); callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7) {
callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7 }); callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7 });
} }
public static void callSub(Object disp, String name, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) public static void callSub(Object disp, String name, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) {
callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7, a8 }); callSubN(disp, name, new Object[] { a1, a2, a3, a4, a5, a6, a7, a8 });
} }
public static void callSub(Object disp, int dispid) public static void callSub(Object disp, int dispid) {
{
callSubN(disp, dispid, new Object[0]); callSubN(disp, dispid, new Object[0]);
} }
public static void callSub(Object disp, int dispid, Object a1) public static void callSub(Object disp, int dispid, Object a1) {
{
callSubN(disp, dispid, new Object[] { a1 }); callSubN(disp, dispid, new Object[] { a1 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2) public static void callSub(Object disp, int dispid, Object a1, Object a2) {
{
callSubN(disp, dispid, new Object[] { a1, a2 }); callSubN(disp, dispid, new Object[] { a1, a2 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3) {
callSubN(disp, dispid, new Object[] { a1, a2, a3 }); callSubN(disp, dispid, new Object[] { a1, a2, a3 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4) {
callSubN(disp, dispid, new Object[] { a1, a2, a3, a4 }); callSubN(disp, dispid, new Object[] { a1, a2, a3, a4 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5) {
callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5 }); callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6) {
callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6 }); callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7) {
callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7 }); callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7 });
} }
public static void callSub(Object disp, int dispid, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) public static void callSub(Object disp, int dispid, Object a1, Object a2,
{ Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) {
callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7, a8 }); callSubN(disp, dispid, new Object[] { a1, a2, a3, a4, a5, a6, a7, a8 });
} }
public static Variant get(Object disp, String name) public static Variant get(Object disp, String name) {
{
return invokev(disp, name, Get, new Variant[0], new int[0]); return invokev(disp, name, Get, new Variant[0], new int[0]);
} }
public static Variant get(Object disp, int dispid) public static Variant get(Object disp, int dispid) {
{
return invokev(disp, dispid, Get, new Variant[0], new int[0]); return invokev(disp, dispid, Get, new Variant[0], new int[0]);
} }
public static void putRef(Object disp, String name, Object val) {
public static void putRef(Object disp, String name, Object val)
{
invoke(disp, name, PutRef, new Object[] { val }, new int[1]); invoke(disp, name, PutRef, new Object[] { val }, new int[1]);
} }
public static void putRef(Object disp, int dispid, Object val) public static void putRef(Object disp, int dispid, Object val) {
{
invoke(disp, dispid, PutRef, new Object[] { val }, new int[1]); invoke(disp, dispid, PutRef, new Object[] { val }, new int[1]);
} }
public static Variant get_CaseSensitive(Object disp, String name) public static Variant get_CaseSensitive(Object disp, String name) {
{
throw new ClassCastException("not implemented yet"); throw new ClassCastException("not implemented yet");
} }
@@ -541,10 +576,10 @@ public class Dispatch extends JacobObject
System.loadLibrary("jacob"); System.loadLibrary("jacob");
} }
protected void finalize() protected void finalize() {
{
//System.out.println("Dispatch finalize start"); //System.out.println("Dispatch finalize start");
if (m_pDispatch != 0) release(); if (m_pDispatch != 0)
release();
//System.out.println("Dispatch finalize end"); //System.out.println("Dispatch finalize end");
} }
} }