![]() |
http://www.sim.no/ http://www.coin3d.org/ |
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 19 Dec 2016 for Coin by Doxygen 1.6.1.