rendered paste body class CrossDomainProxy {
public CrossDomainProxy (AppDomain domain, UnmanagedEventHandler handler)
{
this.domain = domain;
this.handler = handler;
_wrapper = new UnmanagedEventHandler (wrapper);
}
public UnmanagedEventHandler Wrapper {
get { return _wrapper; }
}
void wrapper (IntPtr target, IntPtr calldata, IntPtr closure) {
this.target = target;
this.calldata = calldata;
this.closure = closure;
domain.DoCallBack (new CrossAppDomainDelegate (call_in_target_domain));
}
void call_in_target_domain ()
{
handler (target, calldata, closure);
}
AppDomain domain;
UnmanagedEventHandler handler;
UnmanagedEventHandler _wrapper;
IntPtr target;
IntPtr calldata;
IntPtr closure;
}