LCOV - code coverage report
Current view: top level - port - cpl_error_internal.h (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 3 5 60.0 %
Date: 2025-01-18 12:42:00 Functions: 1 2 50.0 %

          Line data    Source code
       1             : /**********************************************************************
       2             :  *
       3             :  * Name:     cpl_error_internal.h
       4             :  * Project:  CPL - Common Portability Library
       5             :  * Purpose:  CPL Error handling
       6             :  * Author:   Even Rouault, <even.rouault at spatialys.com>
       7             :  *
       8             :  **********************************************************************
       9             :  * Copyright (c) 2019, Even Rouault, <even.rouault at spatialys.com>
      10             :  *
      11             :  * SPDX-License-Identifier: MIT
      12             :  ****************************************************************************/
      13             : 
      14             : #ifndef CPL_ERROR_INTERNAL_H_INCLUDED
      15             : #define CPL_ERROR_INTERNAL_H_INCLUDED
      16             : 
      17             : #ifdef GDAL_COMPILATION
      18             : // internal only
      19             : 
      20             : #include "cpl_error.h"
      21             : #include "cpl_string.h"
      22             : #include <vector>
      23             : 
      24             : /************************************************************************/
      25             : /*                      ErrorHandlerAccumulator()                       */
      26             : /************************************************************************/
      27             : 
      28             : class CPL_DLL CPLErrorHandlerAccumulatorStruct
      29             : {
      30             :   public:
      31             :     CPLErr type;
      32             :     CPLErrorNum no;
      33             :     CPLString msg{};
      34             : 
      35           0 :     CPLErrorHandlerAccumulatorStruct() : type(CE_None), no(CPLE_None)
      36             :     {
      37           0 :     }
      38             : 
      39         351 :     CPLErrorHandlerAccumulatorStruct(CPLErr eErrIn, CPLErrorNum noIn,
      40             :                                      const char *msgIn)
      41         351 :         : type(eErrIn), no(noIn), msg(msgIn)
      42             :     {
      43         351 :     }
      44             : };
      45             : 
      46             : void CPL_DLL CPLInstallErrorHandlerAccumulator(
      47             :     std::vector<CPLErrorHandlerAccumulatorStruct> &aoErrors);
      48             : void CPL_DLL CPLUninstallErrorHandlerAccumulator();
      49             : 
      50             : #endif
      51             : 
      52             : #endif  // CPL_ERROR_INTERNAL_H_INCLUDED

Generated by: LCOV version 1.14