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 
00024 #ifndef __DISPATCH_INDIRECT__
00025 #error "Please #include <xdispatch/dispatch.h> instead of this file directly."
00026 #include "base.h" 
00027 #endif
00028 
00034 DISPATCH_DECL(dispatch_group);
00035 
00036 __DISPATCH_BEGIN_DECLS
00037 
00052 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00053 DISPATCH_EXPORT DISPATCH_WARN_RESULT
00054 dispatch_group_t
00055 dispatch_group_create(void);
00056 
00080 #ifdef __BLOCKS__
00081 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00082 DISPATCH_EXPORT DISPATCH_NONNULL_ALL
00083 void
00084 dispatch_group_async(dispatch_group_t group,
00085        dispatch_queue_t queue,
00086        dispatch_block_t block);
00087 #endif 
00088 
00115 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00116 DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4
00117 void
00118 dispatch_group_async_f(dispatch_group_t group,
00119        dispatch_queue_t queue,
00120        void *context,
00121        dispatch_function_t work);
00122 
00158 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00159 DISPATCH_EXPORT DISPATCH_NONNULL_ALL
00160 long
00161 dispatch_group_wait(dispatch_group_t group, dispatch_time_t timeout);
00162 
00193 #ifdef __BLOCKS__
00194 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00195 DISPATCH_EXPORT DISPATCH_NONNULL_ALL
00196 void
00197 dispatch_group_notify(dispatch_group_t group,
00198        dispatch_queue_t queue,
00199        dispatch_block_t block);
00200 #endif 
00201 
00224 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00225 DISPATCH_EXPORT DISPATCH_NONNULL1 DISPATCH_NONNULL2 DISPATCH_NONNULL4
00226 void
00227 dispatch_group_notify_f(dispatch_group_t group,
00228        dispatch_queue_t queue,
00229        void *context,
00230        dispatch_function_t work);
00231 
00247 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00248 DISPATCH_EXPORT DISPATCH_NOTHROW DISPATCH_NONNULL_ALL
00249 void
00250 dispatch_group_enter(dispatch_group_t group);
00251 
00266 __OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
00267 DISPATCH_EXPORT DISPATCH_NOTHROW DISPATCH_NONNULL_ALL
00268 void
00269 dispatch_group_leave(dispatch_group_t group);
00270 
00271 __DISPATCH_END_DECLS
00272 
00273 #endif