34 #ifndef NASAKEYWORDHANDLER_H
35 #define NASAKEYWORDHANDLER_H
50 class CPL_DLL NASAKeywordHandler
54 const char *pszHeaderNext =
nullptr;
58 bool m_bStripSurroundingQuotes =
false;
61 bool ReadWord(
CPLString &osWord,
bool bStripSurroundingQuotes =
false,
62 bool bParseList =
false,
bool *pbIsString =
nullptr);
64 bool ReadGroup(
const std::string &osPathPrefix,
CPLJSONObject &oCur,
67 NASAKeywordHandler(
const NASAKeywordHandler &) =
delete;
68 NASAKeywordHandler &operator=(
const NASAKeywordHandler &) =
delete;
72 ~NASAKeywordHandler();
74 void SetStripSurroundingQuotes(
bool bStripSurroundingQuotes)
76 m_bStripSurroundingQuotes = bStripSurroundingQuotes;
79 bool Ingest(
VSILFILE *fp,
int nOffset);
80 bool Parse(
const char *pszStr);
82 const char *GetKeyword(
const char *pszPath,
const char *pszDefault);
83 char **GetKeywordList();
The CPLJSONArray class holds JSON object from CPLJSONDocument.
Definition: cpl_json.h:57
String list class designed around our use of C "char**" string lists.
Definition: cpl_string.h:449
Convenient string class based on std::string.
Definition: cpl_string.h:320
Interface for read and write JSON documents.
Various convenience functions for working with strings and string lists.
Virtual file handle.
Definition: cpl_vsi_virtual.h:63