예제 #1
0
		private static void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
		{
			if (managedHandler == null)
				return;

			IntPtr t = NativeMethods.surface_get_time_manager (Deployment.Current.Surface.Native);
			int token = Events.AddHandler (t, eventId, nativeHandler);
			EventList.AddHandler (eventId, token, managedHandler, nativeHandler);
		}
예제 #2
0
 private void AddHandler(int eventId, int token, Delegate managedDelegate, UnmanagedEventHandler nativeHandler)
 {
     Add(new EventHandlerDataKey {
         EventId = eventId,
         Token   = token
     }, new EventHandlerData {
         ManagedDelegate = managedDelegate,
         NativeHandler   = nativeHandler,
     });
 }
예제 #3
0
        public void RegisterEvent(IntPtr obj, int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler, bool handledEventsToo)
        {
            if (managedHandler == null)
            {
                return;
            }

            int token = Events.AddHandler(obj, eventId, invoke_eventhandler_cb, destroy_eventhandler_cb, handledEventsToo);

            AddHandler(eventId, token, managedHandler, nativeHandler);
        }
예제 #4
0
 		public BrowserHttpWebRequestInternal (BrowserHttpWebRequest wreq, Uri uri)
			: base (wreq, uri)
 		{
			started = Events.SafeDispatcher (OnAsyncResponseStarted);
			available = Events.SafeDispatcher (OnAsyncDataAvailable);
			finished = Events.SafeDispatcher (OnAsyncResponseStopped);
			managed = GCHandle.Alloc (this, GCHandleType.Normal);
			aborted = false;
			if (wreq != null) {
				request = wreq.request;
				Headers = wreq.Headers;
			}
			dispatcher = new Dispatcher ();
		}
예제 #5
0
 public void RegisterEvent(IntPtr obj, int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
 {
     RegisterEvent(obj, eventId, managedHandler, nativeHandler, false);
 }
예제 #6
0
		internal void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
		{
			if (managedHandler == null)
				return;

			int token = Events.AddHandler (this, eventId, nativeHandler);

			EventList.AddHandler (eventId, token, managedHandler, nativeHandler);
		}
예제 #7
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static void RemoveHandler (IntPtr raw, int eventId, UnmanagedEventHandler handler)
		{
			NativeMethods.event_object_remove_handler (raw, eventId, handler, raw);
		}
예제 #8
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static int AddHandler (IntPtr raw, int eventId, UnmanagedEventHandler handler, GDestroyNotify data_dtor)
		{
			return NativeMethods.event_object_add_handler (raw, eventId, handler, raw, data_dtor, false);
		}
예제 #9
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static int AddHandler (IntPtr raw, int eventId, UnmanagedEventHandler handler)
		{
			return NativeMethods.event_object_add_handler (raw, eventId, handler, raw, null, false);
		}
예제 #10
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static void RemoveOnEventHandler (DependencyObject obj, int eventId, UnmanagedEventHandler handler)
		{
			NativeMethods.event_object_remove_on_event_handler (obj.native, eventId, handler, obj.native);
		}
예제 #11
0
파일: Content.cs 프로젝트: shana/moon
		private void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
		{
			if (managedHandler == null)
				return;

			int token = Events.AddHandler (Deployment.Current.Surface.Native, eventId, nativeHandler);
			EventList.AddHandler (eventId, token, managedHandler, nativeHandler);
		}
예제 #12
0
 internal void RegisterEvent(int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler, bool handledEventsToo)
 {
     EventList.RegisterEvent(this, eventId, managedHandler, nativeHandler, handledEventsToo);
 }
예제 #13
0
 internal void RegisterEvent(int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
 {
     RegisterEvent(eventId, managedHandler, nativeHandler, false);
 }
예제 #14
0
 public void RegisterEvent(INativeEventObjectWrapper obj, int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
 {
     RegisterEvent(obj, eventId, managedHandler, nativeHandler, false);
 }
예제 #15
0
		internal void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler, bool handledEventsToo)
		{
			EventList.RegisterEvent (this, eventId, managedHandler, nativeHandler, handledEventsToo);
		}
예제 #16
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static void AddOnEventHandler (DependencyObject obj, int eventId, UnmanagedEventHandler handler)
		{
			NativeMethods.event_object_add_on_event_handler (obj.native, eventId, handler, obj.native, null, false);
		}
예제 #17
0
파일: Events.cs 프로젝트: snorp/moon
		public static void AddOnEventHandler (DependencyObject obj, int eventId, UnmanagedEventHandler handler)
		{
			AddOnEventHandler (obj, eventId, handler, false);
		}
예제 #18
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static int AddHandler (INativeEventObjectWrapper obj, int eventId, UnmanagedEventHandler handler)
		{
			return AddHandler (obj.NativeHandle, eventId, handler);
		}
예제 #19
0
파일: Events.cs 프로젝트: snorp/moon
		public static int AddHandler (IntPtr raw, int eventId, UnmanagedEventHandler handler)
		{
			return AddHandler (raw, eventId, handler, false);
		}
예제 #20
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static int AddHandler (INativeEventObjectWrapper obj, int eventId, UnmanagedEventHandler handler, GDestroyNotify dtor_action)
		{
			return AddHandler (obj.NativeHandle, eventId, handler, dtor_action);
		}
예제 #21
0
파일: Events.cs 프로젝트: snorp/moon
		public static int AddHandler (IntPtr raw, int eventId, UnmanagedEventHandler handler, bool handledEventsToo)
		{
			return NativeMethods.event_object_add_handler (raw, eventId, handler, raw, null, true, handledEventsToo);
		}
예제 #22
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static void RemoveHandler (INativeEventObjectWrapper obj, int eventId, UnmanagedEventHandler handler)
		{
			RemoveHandler (obj.NativeHandle, eventId, handler);
		}
예제 #23
0
파일: Events.cs 프로젝트: ynkbt/moon
 public static void AddOnEventHandler(DependencyObject obj, int eventId, UnmanagedEventHandler handler)
 {
     AddOnEventHandler(obj, eventId, handler, false);
 }
예제 #24
0
파일: Events.cs 프로젝트: kangaroo/moon
		public static UnmanagedEventHandler SafeDispatcher (UnmanagedEventHandler handler)
		{
			return (sender, calldata, closure) => SafeAction (() => handler (sender, calldata, closure));
		}
예제 #25
0
파일: Events.cs 프로젝트: ynkbt/moon
 public static void AddOnEventHandler(DependencyObject obj, int eventId, UnmanagedEventHandler handler, bool handledEventsToo)
 {
     NativeMethods.event_object_add_on_event_handler(obj.native, eventId, handler, obj.native, null, false, handledEventsToo);
 }
예제 #26
0
		internal void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
		{
			if (managedHandler == null)
				return;

			int token = -1;

			GDestroyNotify dtor_action = (data) => {
				EventList.RemoveHandler (eventId, token);
			};

			token = Events.AddHandler (this, eventId, nativeHandler, dtor_action);

			EventList.AddHandler (eventId, token, managedHandler, nativeHandler, dtor_action);
		}
예제 #27
0
파일: Events.cs 프로젝트: ynkbt/moon
 public static UnmanagedEventHandler SafeDispatcher(UnmanagedEventHandler handler)
 {
     return((sender, calldata, closure) => SafeAction(() => handler(sender, calldata, closure)));
 }
예제 #28
0
		internal void RegisterEvent (int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler)
		{
			RegisterEvent (eventId, managedHandler, nativeHandler, false);
		}
예제 #29
0
 public void RegisterEvent(INativeEventObjectWrapper obj, int eventId, Delegate managedHandler, UnmanagedEventHandler nativeHandler, bool handledEventsToo)
 {
     RegisterEvent(obj.NativeHandle, eventId, managedHandler, nativeHandler, handledEventsToo);
 }