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