18#ifndef NASAKEYWORDHANDLER_H
19#define NASAKEYWORDHANDLER_H
34class CPL_DLL NASAKeywordHandler
38 const char *pszHeaderNext =
nullptr;
42 bool m_bStripSurroundingQuotes =
false;
45 bool ReadWord(
CPLString &osWord,
bool bStripSurroundingQuotes =
false,
46 bool bParseList =
false,
bool *pbIsString =
nullptr);
48 bool ReadGroup(
const std::string &osPathPrefix,
CPLJSONObject &oCur,
51 NASAKeywordHandler(
const NASAKeywordHandler &) =
delete;
52 NASAKeywordHandler &operator=(
const NASAKeywordHandler &) =
delete;
56 ~NASAKeywordHandler();
58 void SetStripSurroundingQuotes(
bool bStripSurroundingQuotes)
60 m_bStripSurroundingQuotes = bStripSurroundingQuotes;
63 bool Ingest(
VSILFILE *fp,
int nOffset);
64 bool Parse(
const char *pszStr);
66 const char *GetKeyword(
const char *pszPath,
const char *pszDefault);
67 char **GetKeywordList();
The CPLJSONArray class holds JSON object from CPLJSONDocument.
Definition: cpl_json.h:41
String list class designed around our use of C "char**" string lists.
Definition: cpl_string.h:436
Convenient string class based on std::string.
Definition: cpl_string.h:307
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:47