LCOV - code coverage report
Current view: top level - ogr/ogrsf_frmts/sdts - ogr_sdts.h (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 4 4 100.0 %
Date: 2024-11-21 22:18:42 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /******************************************************************************
       2             :  * $Id$
       3             :  *
       4             :  * Project:  STS Translator
       5             :  * Purpose:  Definition of classes finding SDTS support into OGRDriver
       6             :  *           framework.
       7             :  * Author:   Frank Warmerdam, warmerdam@pobox.com
       8             :  *
       9             :  ******************************************************************************
      10             :  * Copyright (c) 1999,  Frank Warmerdam
      11             :  *
      12             :  * SPDX-License-Identifier: MIT
      13             :  ****************************************************************************/
      14             : 
      15             : #ifndef OGR_SDTS_H_INCLUDED
      16             : #define OGR_SDTS_H_INCLUDED
      17             : 
      18             : #include "sdts_al.h"
      19             : #include "ogrsf_frmts.h"
      20             : 
      21             : class OGRSDTSDataSource;
      22             : 
      23             : /************************************************************************/
      24             : /*                             OGRSDTSLayer                             */
      25             : /************************************************************************/
      26             : 
      27             : class OGRSDTSLayer final : public OGRLayer
      28             : {
      29             :     OGRFeatureDefn *poFeatureDefn;
      30             : 
      31             :     SDTSTransfer *poTransfer;
      32             :     int iLayer;
      33             :     SDTSIndexedReader *poReader;
      34             : 
      35             :     OGRSDTSDataSource *poDS;
      36             : 
      37             :     OGRFeature *GetNextUnfilteredFeature();
      38             : 
      39             :   public:
      40             :     OGRSDTSLayer(SDTSTransfer *, int, OGRSDTSDataSource *);
      41             :     ~OGRSDTSLayer();
      42             : 
      43             :     void ResetReading() override;
      44             :     OGRFeature *GetNextFeature() override;
      45             : 
      46          52 :     OGRFeatureDefn *GetLayerDefn() override
      47             :     {
      48          52 :         return poFeatureDefn;
      49             :     }
      50             : 
      51             :     int TestCapability(const char *) override;
      52             : };
      53             : 
      54             : /************************************************************************/
      55             : /*                          OGRSDTSDataSource                           */
      56             : /************************************************************************/
      57             : 
      58             : class OGRSDTSDataSource final : public GDALDataset
      59             : {
      60             :     SDTSTransfer *poTransfer;
      61             : 
      62             :     int nLayers;
      63             :     OGRSDTSLayer **papoLayers;
      64             : 
      65             :     OGRSpatialReference *poSRS;
      66             : 
      67             :   public:
      68             :     OGRSDTSDataSource();
      69             :     ~OGRSDTSDataSource();
      70             : 
      71             :     int Open(const char *pszFilename, int bTestOpen);
      72             : 
      73          44 :     int GetLayerCount() override
      74             :     {
      75          44 :         return nLayers;
      76             :     }
      77             : 
      78             :     OGRLayer *GetLayer(int) override;
      79             : };
      80             : 
      81             : #endif /* ndef OGR_SDTS_H_INCLUDED */

Generated by: LCOV version 1.14