// This file is part of Desktop App Toolkit, // a set of libraries for developing nice desktop applications. // // For license and copyright information please follow this link: // https://github.com/desktop-app/legal/blob/master/LEGAL // #include #ifdef CRL_USE_DISPATCH #include namespace crl::details { void empty_main_wrapper(void (*callable)(void*), void *argument) { callable(argument); } main_queue_wrapper _main_wrapper = &empty_main_wrapper; void *background_queue_dispatch() { return dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); } void *main_queue_dispatch() { return dispatch_get_main_queue(); } void on_queue_async(void *queue, void (*callable)(void*), void *argument) { dispatch_async_f( static_cast(queue), argument, callable); } void on_queue_sync(void *queue, void (*callable)(void*), void *argument) { dispatch_sync_f( static_cast(queue), argument, callable); } } // namespace crl::details #endif // CRL_USE_DISPATCH