Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __DISPATCH_GROUP__
00022 #define __DISPATCH_GROUP__
00023
00029 #ifndef __DISPATCH_INDIRECT__
00030 #error "Please #include <dispatch/dispatch.h> instead of this file directly."
00031 #include "base.h"
00032 #endif
00033
00037 DISPATCH_DECL(dispatch_group);
00038
00039 __DISPATCH_BEGIN_DECLS
00040
00052 DISPATCH_EXPORT
00053 dispatch_group_t
00054 dispatch_group_create(void);
00055
00075 #ifdef __BLOCKS__
00076
00077 DISPATCH_EXPORT
00078 void
00079 dispatch_group_async(dispatch_group_t group,
00080 dispatch_queue_t queue,
00081 dispatch_block_t block);
00082 #endif
00083
00107 DISPATCH_EXPORT
00108 void
00109 dispatch_group_async_f(dispatch_group_t group,
00110 dispatch_queue_t queue,
00111 void *context,
00112 dispatch_function_t work);
00113
00146 DISPATCH_EXPORT
00147 long
00148 dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout);
00149
00176 #ifdef __BLOCKS__
00177
00178 DISPATCH_EXPORT
00179 void
00180 dispatch_group_notify(dispatch_group_t group,
00181 dispatch_queue_t queue,
00182 dispatch_block_t block);
00183 #endif
00184
00204 DISPATCH_EXPORT
00205 void
00206 dispatch_group_notify_f(dispatch_group_t group,
00207 dispatch_queue_t queue,
00208 void *context,
00209 dispatch_function_t work);
00210
00223 DISPATCH_EXPORT
00224 void
00225 dispatch_group_enter(dispatch_group_t group);
00226
00238 DISPATCH_EXPORT
00239 void
00240 dispatch_group_leave(dispatch_group_t group);
00241
00242 __DISPATCH_END_DECLS
00243
00246 #endif