Line data Source code
1 : /****************************************************************************** 2 : * $Id$ 3 : * 4 : * Project: CPL - Common Portability Library 5 : * Author: Frank Warmerdam, warmerdam@pobox.com 6 : * Purpose: Prototypes and definitions for progress functions. 7 : * 8 : ****************************************************************************** 9 : * Copyright (c) 2013, Frank Warmerdam 10 : * 11 : * SPDX-License-Identifier: MIT 12 : ****************************************************************************/ 13 : 14 : #ifndef CPL_PROGRESS_H_INCLUDED 15 : #define CPL_PROGRESS_H_INCLUDED 16 : 17 : #include "cpl_port.h" 18 : 19 : CPL_C_START 20 : 21 : typedef int(CPL_STDCALL *GDALProgressFunc)(double dfComplete, 22 : const char *pszMessage, 23 : void *pProgressArg); 24 : 25 : int CPL_DLL CPL_STDCALL GDALDummyProgress(double, const char *, void *); 26 : int CPL_DLL CPL_STDCALL GDALTermProgress(double, const char *, void *); 27 : int CPL_DLL CPL_STDCALL GDALScaledProgress(double, const char *, void *); 28 : void CPL_DLL *CPL_STDCALL GDALCreateScaledProgress(double, double, 29 : GDALProgressFunc, void *); 30 : void CPL_DLL CPL_STDCALL GDALDestroyScaledProgress(void *); 31 : CPL_C_END 32 : 33 : #if defined(__cplusplus) && defined(GDAL_COMPILATION) 34 : extern "C++" 35 : { 36 : /*! @cond Doxygen_Suppress */ 37 : struct CPL_DLL GDALScaledProgressReleaser 38 : { 39 54 : void operator()(void *p) const 40 : { 41 54 : GDALDestroyScaledProgress(p); 42 54 : } 43 : }; 44 : 45 : /*! @endcond */ 46 : } 47 : #endif 48 : 49 : #endif /* ndef CPL_PROGRESS_H_INCLUDED */