Fix FX_BOOL compilation errors under windows
[pdfium.git] / core / include / fpdfapi / fpdf_parser.h
index cdd7aaa..951085b 100644 (file)
@@ -1,13 +1,13 @@
 // Copyright 2014 PDFium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
 #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_
 
-#include "../fxcrt/fx_ext.h"
+#include "../fxcrt/fx_system.h"
 #include "fpdf_objects.h"
 
 class CPDF_Document;
@@ -114,12 +114,8 @@ public:
 
     FX_BOOL                                    IsFormStream(FX_DWORD objnum, FX_BOOL& bForm) const;
 
-
-
-
-    CPDF_Font*                         LoadFont(CPDF_Dictionary* pFontDict);
-
-    CPDF_Font*                         FindFont(CPDF_Dictionary* pFontDict);
+    // |pFontDict| must not be null.
+    CPDF_Font* LoadFont(CPDF_Dictionary* pFontDict);
 
     CPDF_ColorSpace*           LoadColorSpace(CPDF_Object* pCSObj, CPDF_Dictionary* pResources = NULL);
 
@@ -198,24 +194,24 @@ protected:
 #define PDFWORD_TEXT           2
 #define PDFWORD_DELIMITER      3
 #define PDFWORD_NAME           4
-class CPDF_SimpleParser 
+class CPDF_SimpleParser
 {
 public:
 
     CPDF_SimpleParser(const uint8_t* pData, FX_DWORD dwSize);
 
-    CPDF_SimpleParser(FX_BSTR str);
+    CPDF_SimpleParser(const CFX_ByteStringC& str);
 
     CFX_ByteStringC            GetWord();
 
-    FX_BOOL                            SearchToken(FX_BSTR token);
+    FX_BOOL                            SearchToken(const CFX_ByteStringC& token);
 
-    FX_BOOL                            SkipWord(FX_BSTR token);
+    FX_BOOL                            SkipWord(const CFX_ByteStringC& token);
 
-    FX_BOOL                            FindTagPair(FX_BSTR start_token, FX_BSTR end_token,
+    FX_BOOL                            FindTagPair(const CFX_ByteStringC& start_token, const CFX_ByteStringC& end_token,
                                     FX_DWORD& start_pos, FX_DWORD& end_pos);
 
-    FX_BOOL                            FindTagParam(FX_BSTR token, int nParams);
+    FX_BOOL                            FindTagParam(const CFX_ByteStringC& token, int nParams);
 
     FX_DWORD                   GetPos()
     {
@@ -237,7 +233,7 @@ private:
 
     FX_DWORD                   m_dwCurPos;
 };
-class CPDF_SyntaxParser 
+class CPDF_SyntaxParser
 {
 public:
 
@@ -275,11 +271,11 @@ public:
 
     void                               ToNextWord();
 
-    FX_BOOL                            SearchWord(FX_BSTR word, FX_BOOL bWholeWord, FX_BOOL bForward, FX_FILESIZE limit);
+    FX_BOOL                            SearchWord(const CFX_ByteStringC& word, FX_BOOL bWholeWord, FX_BOOL bForward, FX_FILESIZE limit);
 
-    int                                        SearchMultiWord(FX_BSTR words, FX_BOOL bWholeWord, FX_FILESIZE limit);
+    int                                        SearchMultiWord(const CFX_ByteStringC& words, FX_BOOL bWholeWord, FX_FILESIZE limit);
 
-    FX_FILESIZE                        FindTag(FX_BSTR tag, FX_FILESIZE limit);
+    FX_FILESIZE                        FindTag(const CFX_ByteStringC& tag, FX_FILESIZE limit);
 
     void                               SetEncrypt(CPDF_CryptoHandler* pCryptoHandler)
     {
@@ -348,16 +344,11 @@ protected:
 #define PDFPARSE_TYPEONLY      1
 #define PDFPARSE_NOSTREAM      2
 struct PARSE_CONTEXT {
-
-    FX_BOOL            m_Flags;
-
-    FX_FILESIZE        m_DictStart;
-
-    FX_FILESIZE        m_DictEnd;
-
-    FX_FILESIZE        m_DataStart;
-
-    FX_FILESIZE        m_DataEnd;
+    uint32_t m_Flags;
+    FX_FILESIZE m_DictStart;
+    FX_FILESIZE m_DictEnd;
+    FX_FILESIZE m_DataStart;
+    FX_FILESIZE m_DataEnd;
 };
 
 #define PDFPARSE_ERROR_SUCCESS         0
@@ -434,7 +425,7 @@ public:
     FX_DWORD   GetInfoObjNum() ;
     CPDF_Array*        GetIDArray() ;
 
-    CPDF_Dictionary*   GetEncryptDict() 
+    CPDF_Dictionary*   GetEncryptDict()
     {
         return m_pEncryptDict;
     }
@@ -580,7 +571,7 @@ protected:
 #define FXCIPHER_RC4   1
 #define FXCIPHER_AES   2
 #define FXCIPHER_AES2   3
-class CPDF_SecurityHandler 
+class CPDF_SecurityHandler
 {
 public:
 
@@ -682,7 +673,7 @@ private:
 
     int                                        m_KeyLen;
 };
-class CPDF_CryptoHandler 
+class CPDF_CryptoHandler
 {
 public:
 
@@ -739,7 +730,7 @@ protected:
 
     uint8_t*                   m_pAESContext;
 };
-class CPDF_Point 
+class CPDF_Point
 {
 public:
 
@@ -756,7 +747,7 @@ public:
 
 #define CPDF_Rect              CFX_FloatRect
 #define CPDF_Matrix            CFX_AffineMatrix
-CFX_ByteString PDF_NameDecode(FX_BSTR orig);
+CFX_ByteString PDF_NameDecode(const CFX_ByteStringC& orig);
 CFX_ByteString PDF_NameDecode(const CFX_ByteString& orig);
 CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig);
 CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex = FALSE);
@@ -801,7 +792,7 @@ void                        FPDF_FileSpec_SetWin32Path(CPDF_Object* pFileSpec, const CFX_WideString&
 void FlateEncode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
 FX_DWORD FlateDecode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
 FX_DWORD RunLengthDecode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, FX_DWORD& dest_size);
-class CPDF_NumberTree 
+class CPDF_NumberTree
 {
 public:
 
@@ -857,7 +848,7 @@ protected:
     IFX_FileAvail* m_pFileAvail;
     IFX_FileRead* m_pFileRead;
 };
-class CPDF_SortObjNumArray 
+class CPDF_SortObjNumArray
 {
 public:
 
@@ -882,7 +873,7 @@ enum PDF_PAGENODE_TYPE {
     PDF_PAGENODE_PAGES,
     PDF_PAGENODE_ARRAY,
 };
-class CPDF_PageNode 
+class CPDF_PageNode
 {
 public:
     CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {}