Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Purpose: PCIDSK TEXt segment interface class. 4 : * 5 : ****************************************************************************** 6 : * Copyright (c) 2010 7 : * PCI Geomatics, 90 Allstate Parkway, Markham, Ontario, Canada. 8 : * 9 : * SPDX-License-Identifier: MIT 10 : ****************************************************************************/ 11 : #ifndef INCLUDE_PCIDSK_TEX_H 12 : #define INCLUDE_PCIDSK_TEX_H 13 : 14 : #include <string> 15 : #include <vector> 16 : 17 : namespace PCIDSK 18 : { 19 : /************************************************************************/ 20 : /* PCIDSK_TEX */ 21 : /************************************************************************/ 22 : 23 : //! Interface to PCIDSK text segment. 24 : 25 : class PCIDSK_DLL PCIDSK_TEX 26 : { 27 : public: 28 0 : virtual ~PCIDSK_TEX() {} 29 : 30 : /** 31 : \brief Read a text segment (SEG_TEX). 32 : 33 : All carriage returns in the file are converted to newlines during reading. No other processing is done. 34 : 35 : @return a string containing the entire contents of the text segment. 36 : 37 : */ 38 : virtual std::string ReadText() = 0; 39 : 40 : /** 41 : \brief Write a text segment. 42 : 43 : Writes the text to the text segment. All newlines will be converted to 44 : carriage controls for storage in the text segment per the normal text segment 45 : conventions, and if missing a carriage return will be added to the end of the 46 : file. 47 : 48 : @param text the text to write to the segment. May contain newlines, and other special characters but no embedded \0 characters. 49 : 50 : */ 51 : virtual void WriteText( const std::string &text ) = 0; 52 : }; 53 : } // end namespace PCIDSK 54 : 55 : #endif // INCLUDE_PCIDSK_TEX_H