Coin Logo http://www.sim.no/
http://www.coin3d.org/

sched.h
00001 #ifndef CC_SCHED_H
00002 #define CC_SCHED_H
00003 
00004 /**************************************************************************\
00005  *
00006  *  This file is part of the Coin 3D visualization library.
00007  *  Copyright (C) by Kongsberg Oil & Gas Technologies.
00008  *
00009  *  This library is free software; you can redistribute it and/or
00010  *  modify it under the terms of the GNU General Public License
00011  *  ("GPL") version 2 as published by the Free Software Foundation.
00012  *  See the file LICENSE.GPL at the root directory of this source
00013  *  distribution for additional information about the GNU GPL.
00014  *
00015  *  For using Coin with software that can not be combined with the GNU
00016  *  GPL, and for taking advantage of the additional benefits of our
00017  *  support services, please contact Kongsberg Oil & Gas Technologies
00018  *  about acquiring a Coin Professional Edition License.
00019  *
00020  *  See http://www.coin3d.org/ for more information.
00021  *
00022  *  Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
00023  *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
00024  *
00025 \**************************************************************************/
00026 
00027 #include <Inventor/C/basic.h>  /* COIN_DLL_API */
00028 #include <Inventor/C/threads/common.h>  /* cc_sched */
00029 
00030 /* ********************************************************************** */
00031 
00032 /* Implementation note: it is important that this header file can be
00033    included even when Coin was built with no threads support.
00034 
00035    (This simplifies client code, as we get away with far less #ifdef
00036    HAVE_THREADS wrapping.) */
00037 
00038 /* ********************************************************************** */
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif /* __cplusplus */
00043 
00044 typedef void cc_sched_f(void * closure);
00045 
00046 /* ********************************************************************** */
00047 
00048   COIN_DLL_API cc_sched * cc_sched_construct(int numthreads);
00049   COIN_DLL_API void cc_sched_destruct(cc_sched * sched);
00050   COIN_DLL_API void cc_sched_set_num_threads(cc_sched * sched, int num);
00051   COIN_DLL_API int cc_sched_get_num_threads(cc_sched * sched);
00052 
00053   COIN_DLL_API uint32_t cc_sched_schedule(cc_sched * sched, 
00054                                           cc_sched_f * workfunc, 
00055                                           void * closure,
00056                                           float priority);
00057   COIN_DLL_API SbBool cc_sched_unschedule(cc_sched * sched, 
00058                                           uint32_t schedid); 
00059   COIN_DLL_API void cc_sched_wait_all(cc_sched * sched);
00060   COIN_DLL_API int cc_sched_get_num_remaining(cc_sched * sched);
00061   COIN_DLL_API void cc_sched_set_num_allowed(cc_sched * sched, int num);
00062   COIN_DLL_API void cc_sched_change_priority(cc_sched * sched, 
00063                                              uint32_t schedid, 
00064                                              float priority);
00065 
00066 /* ********************************************************************** */
00067 
00068 #ifdef __cplusplus
00069 } /* extern "C" */
00070 #endif /* __cplusplus */
00071 
00072 #endif /* ! CC_SCHED_H */

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated on Fri Dec 11 2015 03:24:52 for Coin by Doxygen 1.7.6.1.