All pastes #611922 Raw Edit

Untitled

public text v1 · immutable
·published 2007-07-10 03:18 UTC
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;
	}