00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 00002 /* 00003 * This file is part of the LibreOffice project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 * 00009 * This file incorporates work covered by the following license notice: 00010 * 00011 * Licensed to the Apache Software Foundation (ASF) under one or more 00012 * contributor license agreements. See the NOTICE file distributed 00013 * with this work for additional information regarding copyright 00014 * ownership. The ASF licenses this file to you under the Apache 00015 * License, Version 2.0 (the "License"); you may not use this file 00016 * except in compliance with the License. You may obtain a copy of 00017 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 00018 */ 00019 00020 #include <cppu/cppudllapi.h> 00021 #include <rtl/byteseq.h> 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /*** 00028 * Thread identifier administration. 00029 ***/ 00044 CPPU_DLLPUBLIC sal_Bool SAL_CALL uno_bindIdToCurrentThread( sal_Sequence *pThreadId ) 00045 SAL_THROW_EXTERN_C(); 00046 00047 00058 CPPU_DLLPUBLIC void SAL_CALL uno_getIdOfCurrentThread( sal_Sequence **ppThreadId ) 00059 SAL_THROW_EXTERN_C(); 00060 00061 00066 CPPU_DLLPUBLIC void SAL_CALL uno_releaseIdFromCurrentThread() 00067 SAL_THROW_EXTERN_C(); 00068 00069 00070 struct _uno_ThreadPool; 00071 typedef struct _uno_ThreadPool * uno_ThreadPool; 00072 00077 CPPU_DLLPUBLIC uno_ThreadPool SAL_CALL 00078 uno_threadpool_create() SAL_THROW_EXTERN_C(); 00079 00080 00092 CPPU_DLLPUBLIC void SAL_CALL 00093 uno_threadpool_attach( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C(); 00094 00104 CPPU_DLLPUBLIC void SAL_CALL 00105 uno_threadpool_enter( uno_ThreadPool hPool , void **ppJob ) 00106 SAL_THROW_EXTERN_C(); 00107 00112 CPPU_DLLPUBLIC void SAL_CALL 00113 uno_threadpool_detach( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C(); 00114 00144 CPPU_DLLPUBLIC void SAL_CALL 00145 uno_threadpool_putJob( 00146 uno_ThreadPool hPool, 00147 sal_Sequence *pThreadId, 00148 void *pJob, 00149 void ( SAL_CALL * doRequest ) ( void *pThreadSpecificData ), 00150 sal_Bool bIsOneway ) SAL_THROW_EXTERN_C(); 00151 00163 CPPU_DLLPUBLIC void SAL_CALL 00164 uno_threadpool_dispose( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C(); 00165 00166 00176 CPPU_DLLPUBLIC void SAL_CALL 00177 uno_threadpool_destroy( uno_ThreadPool hPool ) SAL_THROW_EXTERN_C(); 00178 00179 #ifdef __cplusplus 00180 } 00181 #endif 00182 00183 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */