public class ProxyObject extends Object implements InvocationHandler, IDispatch, IRawDispatchHandle
Modifier and Type | Field and Description |
---|---|
(package private) ComThread |
comThread |
(package private) Factory |
factory |
static WinDef.LCID |
LOCALE_SYSTEM_DEFAULT
The Constant LOCALE_SYSTEM_DEFAULT.
|
static WinDef.LCID |
LOCALE_USER_DEFAULT
The Constant LOCALE_USER_DEFAULT.
|
(package private) IDispatch |
rawDispatch |
(package private) Class<?> |
theInterface |
(package private) long |
unknownId |
Constructor and Description |
---|
ProxyObject(Class<?> theInterface,
IDispatch rawDispatch,
Factory factory) |
ProxyObject(Class<?> theInterface,
long unknownId,
IDispatch rawDispatch,
Factory factory)
when proxy is created for arguments on a call back, they are already on the
com thread, and hence calling 'getUnknownId' will not work as it uses the ComThread
however, the unknown pointer value is passed in;
|
long unknownId
Class<?> theInterface
Factory factory
ComThread comThread
IDispatch rawDispatch
public static final WinDef.LCID LOCALE_USER_DEFAULT
public static final WinDef.LCID LOCALE_SYSTEM_DEFAULT
ProxyObject(Class<?> theInterface, long unknownId, IDispatch rawDispatch, Factory factory)
theInterface
- unknownId
- rawDispatch
- factory
- long getUnknownId()
protected void finalize() throws Throwable
public void dispose(int r)
public IDispatch getRawDispatch()
getRawDispatch
in interface IRawDispatchHandle
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
invoke
in interface InvocationHandler
Throwable
Object invokeSynchronised(Object proxy, Method method, Object[] args) throws Throwable
Throwable
ConnectionPoint fetchRawConnectionPoint(Guid.IID iid) throws InterruptedException, ExecutionException, TimeoutException
public IComEventCallbackCookie advise(Class<?> comEventCallbackInterface, IComEventCallbackListener comEventCallbackListener)
public void unadvise(Class<?> comEventCallbackInterface, IComEventCallbackCookie cookie)
public <T> void setProperty(String name, T value)
setProperty
in interface IDispatch
public <T> T getProperty(Class<T> returnType, String name, Object... args)
getProperty
in interface IDispatch
public <T> T invokeMethod(Class<T> returnType, String name, Object... args)
invokeMethod
in interface IDispatch
public <T> T queryInterface(Class<T> comInterface) throws COMException
IUnknown
queryInterface
in interface IUnknown
COMException
Guid.IID getIID(ComInterface annotation)
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, String name, Variant.VARIANT pArg) throws COMException
COMException
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId, Variant.VARIANT pArg) throws COMException
COMException
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, String name) throws COMException
COMException
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId) throws COMException
COMException
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, String name, Variant.VARIANT[] pArgs) throws COMException
COMException
protected WinNT.HRESULT oleMethod(int nType, Variant.VARIANT.ByReference pvResult, IDispatch pDisp, OaIdl.DISPID dispId, Variant.VARIANT[] pArgs) throws COMException
COMException