package Ġkotlinx . coroutines . swt Ċ Ċ import Ġkotlinx . coroutines .* Ċ import Ġkotlinx . coroutines . internal . Main Dispatcher Factory Ċ import Ġorg . eclipse . swt . widgets . Display Ċ import Ġorg . eclipse . swt . widgets . Widget Ċ import Ġkotlin . coroutines . Coroutine Context Ċ Ċ /** Ċ Ġ* ĠDis patches Ġexecution Ġonto ĠSWT Ġevent Ġdispatch ing Ġthread Ġof Ġthe Ġ** default ** Ġ[ Display ] Ġand Ġprovides Ġnative Ċ Ġ* Ġ[ kotlin x . coroutines . delay ] Ġsupport . Ċ Ġ* Ċ Ġ* Ġ** NOTE :** ĠBe Ġaware Ġthat Ġcalling Ġthis Ġmethod Ġcreates Ġa Ġdefault Ġ[ Display ] Ġ( making Ġthe Ġthread Ġthat Ġinvokes Ġthis Ċ Ġ* Ġmethod Ġits Ġuser - interface Ġthread ) Ġif Ġit Ġdid Ġnot Ġalready Ġexist . Ċ Ġ*/ Ċ @ Suppress (" unused ") Ċ val ĠDispatch ers . SW T : ĠMain Coroutine Dispatcher ĊĠĠĠ Ġget () Ġ= ĠS wt Default Ċ Ċ /** Ċ Ġ* ĠDis patches Ġexecution Ġonto ĠSWT Ġevent Ġdispatch ing Ġthread Ġof Ġthe Ġgiven Ġ[ Display ] Ġand Ġprovides Ġnative Ċ Ġ* Ġ[ kotlin x . coroutines . delay ] Ġsupport . Ċ Ġ*/ Ċ @ Suppress (" unused ") Ċ fun ĠDispatch ers . swt ( display : ĠDisplay ): ĠMain Coroutine Dispatcher Ġ= ĊĠĠĠ ĠS wt Dispatcher Impl ( display ) Ċ Ċ /** Ċ Ġ* ĠDis patches Ġexecution Ġonto ĠSWT Ġevent Ġdispatch ing Ġthread Ġof Ġthe Ġgiven Ġ[ Widget ]' s Ġ[ Display ] Ġand Ġprovides Ġnative Ċ Ġ* Ġ[ kotlin x . coroutines . delay ] Ġsupport . Ċ Ġ*/ Ċ @ Suppress (" unused ") Ċ fun ĠDispatch ers . swt ( widget : ĠWidget ): ĠMain Coroutine Dispatcher Ġ= ĊĠĠĠ ĠS wt Dispatcher Impl ( widget . display ) Ċ Ċ /** Ċ Ġ* ĠBase Ġdispatcher Ġfor ĠSWT Ġevent Ġdispatch ing Ġthread . Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġprovides Ġtype - safety Ġand Ġa Ġpoint Ġfor Ġfuture Ġextensions . Ċ Ġ*/ Ċ @ Use Experimental ( Internal Cor outines Api :: class , ĠExperimental Cor outines Api :: class ) Ċ internal Ġabstract Ġclass ĠS wt Dispatcher ( ĊĠĠĠ Ġinternal Ġval Ġdisplay : ĠDisplay , ĊĠĠĠ Ġinternal Ġval Ġname : ĠString Ċ ) Ġ: ĠMain Coroutine Dispatcher (), ĠDelay Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch ( context : ĠCor outine Context , Ġblock : ĠRunnable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay . async Exec ( block ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġschedule Resume After Delay ( time Millis : ĠLong , Ġcontinuation : ĠC ancellable Continuation < Unit >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠRunnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( continu ation ) Ġ{ Ġresume Un dis patched ( Unit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġhandle Ġ= Ġschedule ( time Millis , Ġaction ) ĊĠĠĠĠĠĠĠ Ġcontinuation . dispose On Cancellation ( handle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinvoke On Timeout ( time Millis : ĠLong , Ġblock : ĠRunnable ): ĠDis posable Handle Ġ= ĊĠĠĠĠĠĠĠ Ġschedule ( time Millis , Ġblock ) ĊĊĠĠĠ Ġprivate Ġfun Ġschedule ( time Millis : ĠLong , Ġaction : ĠRunnable ): ĠDis posable Handle Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay . timer Exec ( time Millis . toInt (), Ġaction ) ĊĠĠĠĠĠĠĠ Ġreturn ĠDis posable Handle Ġ{ Ġdisplay . timer Exec (- 1 , Ġaction ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ" SW T -$ name " Ċ } Ċ Ċ /** Ċ Ġ* ĠIm mediate Ġdispatcher Ġfor ĠSWT Ġevent Ġdispatch ing Ġfor Ġthe Ġgiven Ġ[ Display ]. Ċ Ġ*/ Ċ private Ġclass ĠIm mediate SW T Dispatcher ( display : ĠDisplay , Ġname : ĠString ) Ġ: ĠS wt Dispatcher ( display , Ġname ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġimmediate : ĠMain Coroutine Dispatcher ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġis Dispatch Needed ( context : ĠCor outine Context ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ ĠThread . currentThread () Ġ!= Ġdisplay . thread ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ"${ super . toString ()} Ġ[ immediate ]" Ċ } Ċ Ċ /** Ċ Ġ* ĠDispatcher Ġfor ĠSWT Ġevent Ġdispatch ing Ġfor Ġthe Ġgiven Ġ[ Display ]. Ċ Ġ*/ Ċ internal Ġopen Ġclass ĠS wt Dispatcher Impl ( display : ĠDisplay , Ġname : ĠString Ġ= Ġdisplay . toString ()) Ġ: ĊĠĠĠ ĠS wt Dispatcher ( display , Ġname ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġimmediate : ĠMain Coroutine Dispatcher ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠIm mediate SW T Dispatcher ( display , Ġname ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ[ Main Dispatcher Factory ] Ġthat Ġdis patches Ġevents Ġfor Ġthe Ġ** default ** ĠSWT Ġ[ Display ]. Ċ Ġ*/ Ċ @ Internal Cor outines Api Ċ internal Ġclass ĠSWT Dispatcher Factory Ġ: ĠMain Dispatcher Factory Ġ{ ĊĠĠĠ Ġoverride Ġval Ġload Priority : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ 2 Ġ// ĠSw ing Ġhas Ġ 0 ; ĠJava Fx Ġhas Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Dispatcher ( all Factories : ĠList < Main Dispatcher Factory >): ĠMain Coroutine Dispatcher Ġ= ĊĠĠĠĠĠĠĠ ĠS wt Default Ċ } Ċ Ċ /** Ċ Ġ* ĠDis patches Ġexecution Ġonto ĠSWT Ġevent Ġdispatch ing Ġthread Ġof Ġthe Ġ** default ** Ġ[ Display ] Ġand Ġprovides Ġnative Ċ Ġ* Ġ[ kotlin x . coroutines . delay ] Ġsupport . Ċ Ġ*/ Ċ internal Ġobject ĠS wt Default Ġ: ĠS wt Dispatcher Impl ( Display . getDefault (), Ġ" Default ") Ċ