public override void AsyncDispatch (StatefulMessageHandler cb, object ob)
		{
			if (Runtime.IsMainThread)
				cb (ob);
			else
				Runtime.RunInMainThread (() => cb (ob));
		}
        public override void AsyncDispatch(StatefulMessageHandler cb, object ob)
        {
            if (dispatcher == null)
                dispatcher = Runtime.DispatchService;

            dispatcher.GuiDispatch (cb, ob);
        }
Пример #3
0
		public override void AsyncDispatch (StatefulMessageHandler cb, object ob)
		{
			if (DispatchService.IsGuiThread)
				cb (ob);
			else
				DispatchService.GuiDispatch (cb, ob);
		}
Пример #4
0
        public static void ThreadDispatch(StatefulMessageHandler cb, object state)
        {
            StatefulMessageContainer smc = new StatefulMessageContainer(cb, state, false);
            Thread t = new Thread(new ThreadStart(smc.Run));

            t.IsBackground = true;
            t.Start();
        }
        public override void Dispatch(StatefulMessageHandler cb, object ob)
        {
            if (dispatcher == null)
                dispatcher = Runtime.DispatchService;

            if (dispatcher.IsGuiThread)
                cb (ob);
            else
                dispatcher.GuiSyncDispatch (cb, ob);
        }
Пример #6
0
        public static void GuiDispatch(StatefulMessageHandler cb, object state)
        {
            if (IsGuiThread)
            {
                cb(state);
                return;
            }

            QueueMessage(new StatefulMessageContainer(cb, state, false));
        }
Пример #7
0
 public StatefulMessageContainer(StatefulMessageHandler cb, object state, bool isSynchronous)
 {
     data               = state;
     callback           = cb;
     this.isSynchronous = isSynchronous;
     if (DispatchService.DispatchDebug)
     {
         callerStack = Environment.StackTrace;
     }
 }
Пример #8
0
 public override void AsyncDispatch(StatefulMessageHandler cb, object ob)
 {
     if (Runtime.IsMainThread)
     {
         cb(ob);
     }
     else
     {
         Runtime.RunInMainThread(() => cb(ob));
     }
 }
Пример #9
0
 public override void AsyncDispatch(StatefulMessageHandler cb, object ob)
 {
     if (DispatchService.IsGuiThread)
     {
         cb(ob);
     }
     else
     {
         DispatchService.GuiDispatch(cb, ob);
     }
 }
Пример #10
0
 public override void AsyncDispatch(StatefulMessageHandler cb, object ob)
 {
     if (Runtime.IsMainThread)
     {
         cb(ob);
     }
     else
     {
         Runtime.MainSynchronizationContext.Post(state => RunCallback(state), (cb, ob));
     }
 }
Пример #11
0
        public static void GuiSyncDispatch(StatefulMessageHandler cb, object state)
        {
            if (IsGuiThread)
            {
                cb(state);
                return;
            }

            StatefulMessageContainer mc = new StatefulMessageContainer(cb, state, true);

            lock (mc) {
                QueueMessage(mc);
                Monitor.Wait(mc);
            }
            if (mc.Exception != null)
            {
                throw new Exception(errormsg, mc.Exception);
            }
        }
Пример #12
0
		public virtual void AsyncDispatch (StatefulMessageHandler cb, object ob)
		{
			cb.BeginInvoke (ob, null, null);
		}
Пример #13
0
		public virtual void Dispatch (StatefulMessageHandler cb, object ob)
		{
			cb (ob);
		}
        public void GuiSyncDispatch(StatefulMessageHandler cb, object state)
        {
            if (IsGuiThread) {
                cb (state);
                return;
            }

            StatefulMessageContainer mc = new StatefulMessageContainer (cb, state, true);
            lock (mc) {
                QueueMessage (mc);
                Monitor.Wait (mc);
            }
            if (mc.Exception != null)
                throw new Exception (errormsg, mc.Exception);
        }
 public void GuiDispatch(StatefulMessageHandler cb, object state)
 {
     QueueMessage (new StatefulMessageContainer (cb, state, false));
 }
Пример #16
0
 public static void GuiDispatch(StatefulMessageHandler cb, object state)
 {
     QueueMessage(new StatefulMessageContainer(cb, state, false));
 }
		static void BackgroundDispatch (StatefulMessageHandler cb, object state)
		{
			QueueBackground (new StatefulMessageContainer (cb, state, false));
		}
Пример #18
0
 public virtual void Dispatch(StatefulMessageHandler cb, object ob)
 {
     cb(ob);
 }
Пример #19
0
 public static void BackgroundDispatch(StatefulMessageHandler cb, object state)
 {
     QueueBackground(new StatefulMessageContainer(cb, state, false));
 }
 public void BackgroundDispatch(StatefulMessageHandler cb, object state)
 {
     arrBackgroundQueue.Add (new StatefulMessageContainer (cb, state, false));
     //thrBackground.Resume ();
 }
 public void ThreadDispatch(StatefulMessageHandler cb, object state)
 {
     StatefulMessageContainer smc = new StatefulMessageContainer (cb, state, false);
     Thread t = new Thread (new ThreadStart (smc.Run));
     t.IsBackground = true;
     t.Start ();
 }
Пример #22
0
 public virtual void AsyncDispatch(StatefulMessageHandler cb, object ob)
 {
     cb.BeginInvoke(ob, null, null);
 }
		public StatefulMessageContainer (StatefulMessageHandler cb, object state, bool isSynchronous)
		{
			data = state;
			callback = cb;
			this.isSynchronous = isSynchronous;
			if (DispatchService.DispatchDebug) callerStack = Environment.StackTrace;
		}
Пример #24
0
 public static void BackgroundDispatch(StatefulMessageHandler cb, object state)
 {
     arrBackgroundQueue.Add(new StatefulMessageContainer(cb, state, false));
     //thrBackground.Resume ();
 }