• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef CORE_FPDFAPI_PARSER_CPDF_SIMPLE_PARSER_H_
8 #define CORE_FPDFAPI_PARSER_CPDF_SIMPLE_PARSER_H_
9 
10 #include "core/fxcrt/fx_string.h"
11 #include "core/fxcrt/fx_system.h"
12 
13 class CPDF_SimpleParser {
14  public:
15   CPDF_SimpleParser(const uint8_t* pData, uint32_t dwSize);
16   explicit CPDF_SimpleParser(const CFX_ByteStringC& str);
17 
18   CFX_ByteStringC GetWord();
19 
20   // Find the token and its |nParams| parameters from the start of data,
21   // and move the current position to the start of those parameters.
22   bool FindTagParamFromStart(const CFX_ByteStringC& token, int nParams);
23 
24   // For testing only.
GetCurPos()25   uint32_t GetCurPos() const { return m_dwCurPos; }
26 
27  private:
28   void ParseWord(const uint8_t*& pStart, uint32_t& dwSize);
29 
30   const uint8_t* m_pData;
31   uint32_t m_dwSize;
32   uint32_t m_dwCurPos;
33 };
34 
35 #endif  // CORE_FPDFAPI_PARSER_CPDF_SIMPLE_PARSER_H_
36