LCOV - code coverage report
Current view: top level - ogr/ogrsf_frmts/mitab - mitab_ogr_driver.h (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 2 2 100.0 %
Date: 2024-11-25 23:50:41 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /**********************************************************************
       2             :  * $Id$
       3             :  *
       4             :  * Name:     mitab_ogr_drive.h
       5             :  * Project:  Mid/mif tab ogr support
       6             :  * Language: C++
       7             :  * Purpose:  Header file containing public definitions for the library.
       8             :  * Author:   Stephane Villeneuve, stephane.v@videotron.ca
       9             :  *
      10             :  **********************************************************************
      11             :  * Copyright (c) 1999, 2000, Stephane Villeneuve
      12             :  * Copyright (c) 2014, Even Rouault <even.rouault at spatialys.com>
      13             :  *
      14             :  * SPDX-License-Identifier: MIT
      15             :  **********************************************************************/
      16             : 
      17             : #include "mitab.h"
      18             : #include "ogrsf_frmts.h"
      19             : 
      20             : #ifndef MITAB_OGR_DRIVER_H_INCLUDED_
      21             : #define MITAB_OGR_DRIVER_H_INCLUDED_
      22             : 
      23             : /*=====================================================================
      24             :  *            OGRTABDataSource Class
      25             :  *
      26             :  * These classes handle all the file types supported by the MITAB lib.
      27             :  * through the IMapInfoFile interface.
      28             :  *====================================================================*/
      29             : class OGRTABDataSource : public GDALDataset
      30             : {
      31             :     CPL_DISALLOW_COPY_ASSIGN(OGRTABDataSource)
      32             : 
      33             :   private:
      34             :     char *m_pszDirectory;
      35             : 
      36             :     int m_nLayerCount;
      37             :     IMapInfoFile **m_papoLayers;
      38             : 
      39             :     char **m_papszOptions;
      40             :     int m_bCreateMIF;
      41             :     int m_bSingleFile;
      42             :     int m_bSingleLayerAlreadyCreated;
      43             :     GBool m_bQuickSpatialIndexMode;
      44             :     int m_nBlockSize;
      45             : 
      46             :   private:
      47        2428 :     inline bool GetUpdate() const
      48             :     {
      49        2428 :         return eAccess == GA_Update;
      50             :     }
      51             : 
      52             :   public:
      53             :     OGRTABDataSource();
      54             :     virtual ~OGRTABDataSource();
      55             : 
      56             :     int Open(GDALOpenInfo *poOpenInfo, int bTestOpen);
      57             :     int Create(const char *pszName, char **papszOptions);
      58             : 
      59             :     int GetLayerCount() override;
      60             :     OGRLayer *GetLayer(int) override;
      61             :     int TestCapability(const char *) override;
      62             : 
      63             :     OGRLayer *ICreateLayer(const char *pszName,
      64             :                            const OGRGeomFieldDefn *poGeomFieldDefn,
      65             :                            CSLConstList papszOptions) override;
      66             : 
      67             :     char **GetFileList() override;
      68             : 
      69             :     virtual OGRLayer *ExecuteSQL(const char *pszStatement,
      70             :                                  OGRGeometry *poSpatialFilter,
      71             :                                  const char *pszDialect) override;
      72             : };
      73             : 
      74             : void CPL_DLL RegisterOGRTAB();
      75             : 
      76             : #endif /* MITAB_OGR_DRIVER_H_INCLUDED_ */

Generated by: LCOV version 1.14