1
import netscape.plugin.Plugin;
3
public class MozAxPlugin extends Plugin
5
///////////////////////////////////////////////////////////////////////////
6
// Public methods that are exposed through LiveConnect
8
public Object getProperty(String dispid)
10
return xgetProperty(dispid);
12
public void setProperty(String dispid, String property)
14
xsetProperty1(dispid, property);
16
public void setProperty(String dispid, Object property)
18
xsetProperty2(dispid, property);
21
public Object invoke(String dispid)
23
return xinvoke(dispid);
26
public Object invoke(String dispid, Object p1)
28
return xinvoke1(dispid, p1);
30
public Object invoke(String dispid, Object p1, Object p2)
32
return xinvoke2(dispid, p1, p2);
34
public Object invoke(String dispid, Object p1, Object p2, Object p3)
36
return xinvoke3(dispid, p1, p2, p3);
38
public Object invoke(String dispid, Object p1, Object p2, Object p3, Object p4)
40
return xinvoke4(dispid, p1, p2, p3, p4);
42
public Object invoke(String dispid, Object params[])
44
return xinvokeX(dispid, params);
47
///////////////////////////////////////////////////////////////////////////
48
// Native implementations of the above methods.
50
// Note: These methods are not overloaded like the public versions above
51
// because javah generates bad code which doesn't compile if you try.
53
private native Object xgetProperty(String dispid);
54
private native void xsetProperty1(String dispid, String property);
55
private native void xsetProperty2(String dispid, Object property);
56
private native Object xinvoke(String dispid);
57
private native Object xinvoke1(String dispid, Object p1);
58
private native Object xinvoke2(String dispid, Object p1, Object p2);
59
private native Object xinvoke3(String dispid, Object p1, Object p2, Object p3);
60
private native Object xinvoke4(String dispid, Object p1, Object p2, Object p3, Object p4);
61
private native Object xinvokeX(String dispid, Object params[]);