summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h')
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h
index 8ca7e33824..5838fb7144 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h
+++ b/core/fpdfapi/fpdf_parser/cpdf_syntax_parser.h
@@ -9,6 +9,8 @@
#include <memory>
+#include "core/fxcrt/include/cfx_string_pool_template.h"
+#include "core/fxcrt/include/cfx_weak_ptr.h"
#include "core/fxcrt/include/fx_basic.h"
class CPDF_CryptoHandler;
@@ -21,6 +23,7 @@ class IFX_FileRead;
class CPDF_SyntaxParser {
public:
CPDF_SyntaxParser();
+ explicit CPDF_SyntaxParser(const CFX_WeakPtr<CFX_ByteStringPool>& pPool);
~CPDF_SyntaxParser();
void InitParser(IFX_FileRead* pFileAccess, uint32_t HeaderOffset);
@@ -64,7 +67,6 @@ class CPDF_SyntaxParser {
static int s_CurrentRecursionDepth;
uint32_t GetDirectNum();
-
FX_BOOL GetNextChar(uint8_t& ch);
FX_BOOL GetCharAtBackward(FX_FILESIZE pos, uint8_t& ch);
void GetNextWordInternal(bool* bIsNumber);
@@ -80,6 +82,8 @@ class CPDF_SyntaxParser {
uint32_t objnum,
uint32_t gennum);
+ CFX_ByteString MaybeIntern(const CFX_ByteString& str);
+
FX_FILESIZE m_Pos;
int m_MetadataObjnum;
IFX_FileRead* m_pFileAccess;
@@ -91,6 +95,7 @@ class CPDF_SyntaxParser {
std::unique_ptr<CPDF_CryptoHandler> m_pCryptoHandler;
uint8_t m_WordBuffer[257];
uint32_t m_WordSize;
+ CFX_WeakPtr<CFX_ByteStringPool> m_pPool;
};
#endif // CORE_FPDFAPI_FPDF_PARSER_CPDF_SYNTAX_PARSER_H_