API reference
API reference
Select your platform
No SDKs available
No versions available

ThreadUtility Class

A static class used for performing callbacks on the main thread

Static Methods

Background ( logger , callback )
Safely backgrounds a callback if threading is enabled in this build.
Signature
static Task Meta.WitAi.ThreadUtility.Background(IVLogger logger, Action callback)
Parameters
logger: IVLogger  The logger that should be used for any unhandled exceptions
callback: Action  The callback to execute
Returns
Task
BackgroundAsync ( logger , callback )
Safely backgrounds an async task if threading is enabled in this build.
Signature
static Task Meta.WitAi.ThreadUtility.BackgroundAsync(IVLogger logger, Func< Task > callback)
Parameters
logger: IVLogger  The logger that should be used for any unhandled exceptions
callback: Func< Task >  The callback to execute
Returns
Task
BackgroundAsync< T > ( logger , callback )
Safely backgrounds an async task if threading is enabled in this build.
Signature
static Task<T> Meta.WitAi.ThreadUtility.BackgroundAsync< T >(IVLogger logger, Func< Task< T >> callback)
Parameters
logger: IVLogger  The logger that should be used for any unhandled exceptions
callback: Func< Task< T >>  The callback to execute
Returns
Task< T >
CallOnMainThread ( callback )
Safely calls an action on the main thread using a scheduler.
Signature
static Task Meta.WitAi.ThreadUtility.CallOnMainThread(Action callback)
Parameters
callback: Action  The action to be performed on the main thread
Returns
Task
CallOnMainThread ( logger , callback )
Safely calls an action on the main thread using a scheduler.
Signature
static Task Meta.WitAi.ThreadUtility.CallOnMainThread(IVLogger logger, Action callback)
Parameters
logger: IVLogger
callback: Action  The action to be performed on the main thread
Returns
Task
CallOnMainThread< T > ( callback )
Safely calls an action on the main thread using a scheduler.
Signature
static Task<T> Meta.WitAi.ThreadUtility.CallOnMainThread< T >(Func< T > callback)
Parameters
callback: Func< T >  The action to be performed on the main thread
Returns
Task< T >
CallOnMainThread< T > ( logger , callback )
Safely calls an action on the main thread using a scheduler.
Signature
static Task<T> Meta.WitAi.ThreadUtility.CallOnMainThread< T >(IVLogger logger, Func< T > callback)
Parameters
logger: IVLogger
callback: Func< T >  The action to be performed on the main thread
Returns
Task< T >
CoroutineAwait ( func )
Allows yielding on a coroutine to await for a result from an async task
Signature
static IEnumerator Meta.WitAi.ThreadUtility.CoroutineAwait(Func< Task > func)
Parameters
func: Func< Task >
Returns
IEnumerator
CoroutineAwait< T > ( func , result )
Allows yielding on a coroutine to await for a result from an async task
Signature
static IEnumerator Meta.WitAi.ThreadUtility.CoroutineAwait< T >(Func< Task< T >> func, Action< T > result)
Parameters
func: Func< Task< T >>
result: Action< T >
Returns
IEnumerator
CoroutineAwait< T, T1 > ( func , data , result )
Allows yielding on a coroutine to await for a result from an async task
Signature
static IEnumerator Meta.WitAi.ThreadUtility.CoroutineAwait< T, T1 >(Func< T1, Task< T >> func, T1 data, Action< T > result)
Parameters
func: Func< T1, Task< T >>
data: T1
result: Action< T >
Returns
IEnumerator
CoroutineAwait< T, T1, T2 > ( func , data1 , data2 , result )
Allows yielding on a coroutine to await for a result from an async task
Signature
static IEnumerator Meta.WitAi.ThreadUtility.CoroutineAwait< T, T1, T2 >(Func< T1, T2, Task< T >> func, T1 data1, T2 data2, Action< T > result)
Parameters
func: Func< T1, T2, Task< T >>
data1: T1
data2: T2
result: Action< T >
Returns
IEnumerator
CoroutineAwait< T, T1, T2, T3 > ( func , data1 , data2 , data3 , result )
Allows yielding on a coroutine to await for a result from an async task
Signature
static IEnumerator Meta.WitAi.ThreadUtility.CoroutineAwait< T, T1, T2, T3 >(Func< T1, T2, T3, Task< T >> func, T1 data1, T2 data2, T3 data3, Action< T > result)
Parameters
func: Func< T1, T2, T3, Task< T >>
data1: T1
data2: T2
data3: T3
result: Action< T >
Returns
IEnumerator
IsMainThread ()
Compares current thread to main thread in order to determine location of running code.
Signature
static bool Meta.WitAi.ThreadUtility.IsMainThread()
Returns
bool