LCOV - code coverage report
Current view: top level - ogr/ogrsf_frmts/xls - ogrxlsdriver.cpp (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 14 17 82.4 %
Date: 2024-11-21 22:18:42 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /******************************************************************************
       2             :  *
       3             :  * Project:  XLS Translator
       4             :  * Purpose:  Implements OGRXLSDriver.
       5             :  * Author:   Even Rouault, even dot rouault at spatialys.com
       6             :  *
       7             :  ******************************************************************************
       8             :  * Copyright (c) 2011, Even Rouault <even dot rouault at spatialys.com>
       9             :  *
      10             :  * SPDX-License-Identifier: MIT
      11             :  ****************************************************************************/
      12             : 
      13             : #include "ogr_xls.h"
      14             : #include "ogrxlsdrivercore.h"
      15             : #include "cpl_conv.h"
      16             : 
      17             : /************************************************************************/
      18             : /*                                Open()                                */
      19             : /************************************************************************/
      20             : 
      21           5 : static GDALDataset *OGRXLSDriverOpen(GDALOpenInfo *poOpenInfo)
      22             : 
      23             : {
      24           5 :     if ((poOpenInfo->nOpenFlags & GDAL_OF_UPDATE) != 0)
      25             :     {
      26           0 :         return nullptr;
      27             :     }
      28             : 
      29           5 :     if (!EQUAL(CPLGetExtension(poOpenInfo->pszFilename), "XLS"))
      30             :     {
      31           0 :         return nullptr;
      32             :     }
      33             : 
      34           5 :     OGRXLSDataSource *poDS = new OGRXLSDataSource();
      35             : 
      36           5 :     if (!poDS->Open(poOpenInfo->pszFilename, false))
      37             :     {
      38           1 :         delete poDS;
      39           1 :         poDS = nullptr;
      40             :     }
      41             : 
      42           5 :     return poDS;
      43             : }
      44             : 
      45             : /************************************************************************/
      46             : /*                           RegisterOGRXLS()                           */
      47             : /************************************************************************/
      48             : 
      49          10 : void RegisterOGRXLS()
      50             : 
      51             : {
      52          10 :     if (GDALGetDriverByName(DRIVER_NAME) != nullptr)
      53           0 :         return;
      54             : 
      55          10 :     GDALDriver *poDriver = new GDALDriver();
      56          10 :     OGRXLSDriverSetCommonMetadata(poDriver);
      57             : 
      58          10 :     poDriver->pfnOpen = OGRXLSDriverOpen;
      59             : 
      60          10 :     GetGDALDriverManager()->RegisterDriver(poDriver);
      61             : }

Generated by: LCOV version 1.14