GDAL
cpl_progress.h
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
19
20typedef int(CPL_STDCALL *GDALProgressFunc)(double dfComplete,
21 const char *pszMessage,
22 void *pProgressArg);
23
24int CPL_DLL CPL_STDCALL GDALDummyProgress(double, const char *, void *);
25int CPL_DLL CPL_STDCALL GDALTermProgress(double, const char *, void *);
26int CPL_DLL CPL_STDCALL GDALScaledProgress(double, const char *, void *);
27void CPL_DLL *CPL_STDCALL GDALCreateScaledProgress(double, double,
28 GDALProgressFunc, void *);
29void CPL_DLL CPL_STDCALL GDALDestroyScaledProgress(void *);
31
32#if defined(__cplusplus) && defined(GDAL_COMPILATION)
33extern "C++"
34{
36 struct CPL_DLL GDALScaledProgressReleaser
37 {
38 void operator()(void *p) const
39 {
40 GDALDestroyScaledProgress(p);
41 }
42 };
43
45}
46#endif
47
48#endif /* ndef CPL_PROGRESS_H_INCLUDED */
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285