XDispatch 0.7.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
group.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008-2009 Apple Inc. All rights reserved.
00003  *
00004  * @APPLE_APACHE_LICENSE_HEADER_START@
00005  * 
00006  * Licensed under the Apache License, Version 2.0 (the "License");
00007  * you may not use this file except in compliance with the License.
00008  * You may obtain a copy of the License at
00009  * 
00010  *     http://www.apache.org/licenses/LICENSE-2.0
00011  * 
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  * 
00018  * @APPLE_APACHE_LICENSE_HEADER_END@
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" // for HeaderDoc
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 /* __BLOCKS__ */
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 /* __BLOCKS__ */
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

Generated on Tue Jun 12 2012 14:11:47 for XDispatch by Doxygen 1.8.0
© 2010-2012 MLBA (about | privacy) All Rights reserved.