LCOV - code coverage report
Current view: top level - frmts/pcidsk/sdk - pcidsk_segment.h (source / functions) Hit Total Coverage
Test: gdal_filtered.info Lines: 2 2 100.0 %
Date: 2024-11-25 13:07:18 Functions: 2 3 66.7 %

          Line data    Source code
       1             : /******************************************************************************
       2             :  *
       3             :  * Purpose:  Primary public include file for PCIDSK SDK.
       4             :  *
       5             :  ******************************************************************************
       6             :  * Copyright (c) 2009
       7             :  * PCI Geomatics, 90 Allstate Parkway, Markham, Ontario, Canada.
       8             :  *
       9             :  * SPDX-License-Identifier: MIT
      10             :  ****************************************************************************/
      11             : 
      12             : #ifndef INCLUDE_PCIDSKSEGMENT_H
      13             : #define INCLUDE_PCIDSKSEGMENT_H
      14             : 
      15             : #include "pcidsk_config.h"
      16             : #include "pcidsk_types.h"
      17             : #include <string>
      18             : #include <vector>
      19             : 
      20             : namespace PCIDSK
      21             : {
      22             : /************************************************************************/
      23             : /*                            PCIDSKSegment                             */
      24             : /************************************************************************/
      25             : 
      26             : //! Public interface for the PCIDSK Segment Type
      27             : 
      28             :     class PCIDSKSegment
      29             :     {
      30             :     public:
      31        1463 :         virtual ~PCIDSKSegment() {}
      32             : 
      33          41 :         virtual void Initialize() {}
      34             : 
      35             :         virtual void LoadSegmentPointer( const char *segment_pointer ) = 0;
      36             : 
      37             :         virtual void WriteToFile( const void *buffer, uint64 offset, uint64 size)=0;
      38             :         virtual void ReadFromFile( void *buffer, uint64 offset, uint64 size ) = 0;
      39             : 
      40             :         virtual eSegType    GetSegmentType() = 0;
      41             :         virtual std::string GetName() = 0;
      42             :         virtual std::string GetDescription() = 0;
      43             :         virtual int         GetSegmentNumber() = 0;
      44             :         virtual bool        IsContentSizeValid() const = 0;
      45             :         virtual uint64      GetContentSize() = 0;
      46             :         virtual uint64      GetContentOffset() = 0;
      47             :         virtual bool        IsAtEOF() = 0;
      48             :         virtual bool        CanExtend(uint64 size) const = 0;
      49             : 
      50             :         virtual void        SetDescription( const std::string &description) = 0;
      51             : 
      52             :         virtual std::string GetMetadataValue( const std::string &key ) const = 0;
      53             :         virtual void SetMetadataValue( const std::string &key, const std::string &value ) = 0;
      54             :         virtual std::vector<std::string> GetMetadataKeys() const = 0;
      55             : 
      56             :         virtual std::vector<std::string> GetHistoryEntries() const = 0;
      57             :         virtual void SetHistoryEntries( const std::vector<std::string> &entries ) = 0;
      58             :         virtual void PushHistory(const std::string &app,
      59             :                                  const std::string &message) = 0;
      60             : 
      61             :         virtual void Synchronize() = 0;
      62             : 
      63             :         virtual std::string ConsistencyCheck() = 0;
      64             :     };
      65             : 
      66             : } // end namespace PCIDSK
      67             : 
      68             : #endif // INCLUDE_PCIDSKSEGMENT_H

Generated by: LCOV version 1.14