LCOV - code coverage report
Current view: top level - ogr/ogrsf_frmts/xls - ogrxlsdrivercore.cpp (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 20 20 100.0 %
Date: 2025-10-14 18:17:50 Functions: 4 4 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 "gdal_frmts.h"
      14             : #include "gdalplugindriverproxy.h"
      15             : 
      16             : #include "ogrsf_frmts.h"
      17             : 
      18             : #include "ogrxlsdrivercore.h"
      19             : 
      20             : /************************************************************************/
      21             : /*                    OGRXLSDriverIdentify()                            */
      22             : /************************************************************************/
      23             : 
      24       52983 : static int OGRXLSDriverIdentify(GDALOpenInfo *poOpenInfo)
      25             : 
      26             : {
      27       52983 :     return poOpenInfo->IsExtensionEqualToCI("XLS");
      28             : }
      29             : 
      30             : /************************************************************************/
      31             : /*                  OGRXLSDriverSetCommonMetadata()                  */
      32             : /************************************************************************/
      33             : 
      34        2105 : void OGRXLSDriverSetCommonMetadata(GDALDriver *poDriver)
      35             : {
      36        2105 :     poDriver->SetDescription(DRIVER_NAME);
      37        2105 :     poDriver->SetMetadataItem(GDAL_DCAP_VECTOR, "YES");
      38             : 
      39        2105 :     poDriver->SetMetadataItem(GDAL_DMD_LONGNAME, "MS Excel format");
      40        2105 :     poDriver->SetMetadataItem(GDAL_DMD_EXTENSION, "xls");
      41        2105 :     poDriver->SetMetadataItem(GDAL_DMD_HELPTOPIC, "drivers/vector/xls.html");
      42        2105 :     poDriver->SetMetadataItem(GDAL_DCAP_NONSPATIAL, "YES");
      43        2105 :     poDriver->SetMetadataItem(GDAL_DCAP_MULTIPLE_VECTOR_LAYERS, "YES");
      44        2105 :     poDriver->SetMetadataItem(GDAL_DMD_SUPPORTED_SQL_DIALECTS, "OGRSQL SQLITE");
      45             : 
      46        2105 :     poDriver->pfnIdentify = OGRXLSDriverIdentify;
      47        2105 :     poDriver->SetMetadataItem(GDAL_DCAP_OPEN, "YES");
      48        2105 : }
      49             : 
      50             : /************************************************************************/
      51             : /*                   DeclareDeferredOGRXLSPlugin()                      */
      52             : /************************************************************************/
      53             : 
      54             : #ifdef PLUGIN_FILENAME
      55        2033 : void DeclareDeferredOGRXLSPlugin()
      56             : {
      57        2033 :     if (GDALGetDriverByName(DRIVER_NAME) != nullptr)
      58             :     {
      59         283 :         return;
      60             :     }
      61        1750 :     auto poDriver = new GDALPluginDriverProxy(PLUGIN_FILENAME);
      62             : #ifdef PLUGIN_INSTALLATION_MESSAGE
      63             :     poDriver->SetMetadataItem(GDAL_DMD_PLUGIN_INSTALLATION_MESSAGE,
      64             :                               PLUGIN_INSTALLATION_MESSAGE);
      65             : #endif
      66        1750 :     OGRXLSDriverSetCommonMetadata(poDriver);
      67        1750 :     GetGDALDriverManager()->DeclareDeferredPluginDriver(poDriver);
      68             : }
      69             : #endif

Generated by: LCOV version 1.14