Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(649)

Side by Side Diff: core/fpdfapi/fpdf_parser/include/cpdf_parser.h

Issue 1832173003: Remove FX_DWORD from core/ and delete definition (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ 7 #ifndef CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ 8 #define CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
9 9
10 #include <map> 10 #include <map>
(...skipping 20 matching lines...) Expand all
31 FILE_ERROR, 31 FILE_ERROR,
32 FORMAT_ERROR, 32 FORMAT_ERROR,
33 PASSWORD_ERROR, 33 PASSWORD_ERROR,
34 HANDLER_ERROR 34 HANDLER_ERROR
35 }; 35 };
36 36
37 CPDF_Parser(); 37 CPDF_Parser();
38 ~CPDF_Parser(); 38 ~CPDF_Parser();
39 39
40 Error StartParse(IFX_FileRead* pFile); 40 Error StartParse(IFX_FileRead* pFile);
41 FX_DWORD GetPermissions(FX_BOOL bCheckRevision = FALSE); 41 uint32_t GetPermissions(FX_BOOL bCheckRevision = FALSE);
42 42
43 void SetPassword(const FX_CHAR* password) { m_Password = password; } 43 void SetPassword(const FX_CHAR* password) { m_Password = password; }
44 CFX_ByteString GetPassword() { return m_Password; } 44 CFX_ByteString GetPassword() { return m_Password; }
45 CPDF_Dictionary* GetTrailer() const { return m_pTrailer; } 45 CPDF_Dictionary* GetTrailer() const { return m_pTrailer; }
46 FX_FILESIZE GetLastXRefOffset() const { return m_LastXRefOffset; } 46 FX_FILESIZE GetLastXRefOffset() const { return m_LastXRefOffset; }
47 CPDF_Document* GetDocument() const { return m_pDocument; } 47 CPDF_Document* GetDocument() const { return m_pDocument; }
48 48
49 FX_DWORD GetRootObjNum(); 49 uint32_t GetRootObjNum();
50 FX_DWORD GetInfoObjNum(); 50 uint32_t GetInfoObjNum();
51 CPDF_Array* GetIDArray(); 51 CPDF_Array* GetIDArray();
52 52
53 CPDF_Dictionary* GetEncryptDict() const { return m_pEncryptDict; } 53 CPDF_Dictionary* GetEncryptDict() const { return m_pEncryptDict; }
54 54
55 CPDF_Object* ParseIndirectObject(CPDF_IndirectObjectHolder* pObjList, 55 CPDF_Object* ParseIndirectObject(CPDF_IndirectObjectHolder* pObjList,
56 FX_DWORD objnum); 56 uint32_t objnum);
57 57
58 FX_DWORD GetLastObjNum() const; 58 uint32_t GetLastObjNum() const;
59 bool IsValidObjectNumber(FX_DWORD objnum) const; 59 bool IsValidObjectNumber(uint32_t objnum) const;
60 FX_FILESIZE GetObjectPositionOrZero(FX_DWORD objnum) const; 60 FX_FILESIZE GetObjectPositionOrZero(uint32_t objnum) const;
61 uint8_t GetObjectType(FX_DWORD objnum) const; 61 uint8_t GetObjectType(uint32_t objnum) const;
62 uint16_t GetObjectGenNum(FX_DWORD objnum) const; 62 uint16_t GetObjectGenNum(uint32_t objnum) const;
63 bool IsVersionUpdated() const { return m_bVersionUpdated; } 63 bool IsVersionUpdated() const { return m_bVersionUpdated; }
64 bool IsObjectFreeOrNull(FX_DWORD objnum) const; 64 bool IsObjectFreeOrNull(uint32_t objnum) const;
65 FX_BOOL IsFormStream(FX_DWORD objnum, FX_BOOL& bForm); 65 FX_BOOL IsFormStream(uint32_t objnum, FX_BOOL& bForm);
66 IPDF_CryptoHandler* GetCryptoHandler(); 66 IPDF_CryptoHandler* GetCryptoHandler();
67 IFX_FileRead* GetFileAccess() const; 67 IFX_FileRead* GetFileAccess() const;
68 68
69 FX_FILESIZE GetObjectOffset(FX_DWORD objnum) const; 69 FX_FILESIZE GetObjectOffset(uint32_t objnum) const;
70 FX_FILESIZE GetObjectSize(FX_DWORD objnum) const; 70 FX_FILESIZE GetObjectSize(uint32_t objnum) const;
71 71
72 void GetIndirectBinary(FX_DWORD objnum, uint8_t*& pBuffer, FX_DWORD& size); 72 void GetIndirectBinary(uint32_t objnum, uint8_t*& pBuffer, uint32_t& size);
73 int GetFileVersion() const { return m_FileVersion; } 73 int GetFileVersion() const { return m_FileVersion; }
74 FX_BOOL IsXRefStream() const { return m_bXRefStream; } 74 FX_BOOL IsXRefStream() const { return m_bXRefStream; }
75 75
76 CPDF_Object* ParseIndirectObjectAt(CPDF_IndirectObjectHolder* pObjList, 76 CPDF_Object* ParseIndirectObjectAt(CPDF_IndirectObjectHolder* pObjList,
77 FX_FILESIZE pos, 77 FX_FILESIZE pos,
78 FX_DWORD objnum); 78 uint32_t objnum);
79 79
80 CPDF_Object* ParseIndirectObjectAtByStrict( 80 CPDF_Object* ParseIndirectObjectAtByStrict(
81 CPDF_IndirectObjectHolder* pObjList, 81 CPDF_IndirectObjectHolder* pObjList,
82 FX_FILESIZE pos, 82 FX_FILESIZE pos,
83 FX_DWORD objnum, 83 uint32_t objnum,
84 FX_FILESIZE* pResultPos); 84 FX_FILESIZE* pResultPos);
85 85
86 Error StartAsyncParse(IFX_FileRead* pFile); 86 Error StartAsyncParse(IFX_FileRead* pFile);
87 87
88 FX_DWORD GetFirstPageNo() const { return m_dwFirstPageNo; } 88 uint32_t GetFirstPageNo() const { return m_dwFirstPageNo; }
89 89
90 protected: 90 protected:
91 struct ObjectInfo { 91 struct ObjectInfo {
92 ObjectInfo() : pos(0), type(0), gennum(0) {} 92 ObjectInfo() : pos(0), type(0), gennum(0) {}
93 93
94 FX_FILESIZE pos; 94 FX_FILESIZE pos;
95 uint8_t type; 95 uint8_t type;
96 uint16_t gennum; 96 uint16_t gennum;
97 }; 97 };
98 98
99 void CloseParser(); 99 void CloseParser();
100 CPDF_Object* ParseDirect(CPDF_Object* pObj); 100 CPDF_Object* ParseDirect(CPDF_Object* pObj);
101 FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos); 101 FX_BOOL LoadAllCrossRefV4(FX_FILESIZE pos);
102 FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos); 102 FX_BOOL LoadAllCrossRefV5(FX_FILESIZE pos);
103 bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip); 103 bool LoadCrossRefV4(FX_FILESIZE pos, FX_FILESIZE streampos, FX_BOOL bSkip);
104 FX_BOOL LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef); 104 FX_BOOL LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef);
105 CPDF_Dictionary* LoadTrailerV4(); 105 CPDF_Dictionary* LoadTrailerV4();
106 FX_BOOL RebuildCrossRef(); 106 FX_BOOL RebuildCrossRef();
107 Error SetEncryptHandler(); 107 Error SetEncryptHandler();
108 void ReleaseEncryptHandler(); 108 void ReleaseEncryptHandler();
109 FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount); 109 FX_BOOL LoadLinearizedAllCrossRefV4(FX_FILESIZE pos, uint32_t dwObjCount);
110 FX_BOOL LoadLinearizedCrossRefV4(FX_FILESIZE pos, FX_DWORD dwObjCount); 110 FX_BOOL LoadLinearizedCrossRefV4(FX_FILESIZE pos, uint32_t dwObjCount);
111 FX_BOOL LoadLinearizedAllCrossRefV5(FX_FILESIZE pos); 111 FX_BOOL LoadLinearizedAllCrossRefV5(FX_FILESIZE pos);
112 Error LoadLinearizedMainXRefTable(); 112 Error LoadLinearizedMainXRefTable();
113 CPDF_StreamAcc* GetObjectStream(FX_DWORD number); 113 CPDF_StreamAcc* GetObjectStream(uint32_t number);
114 FX_BOOL IsLinearizedFile(IFX_FileRead* pFileAccess, FX_DWORD offset); 114 FX_BOOL IsLinearizedFile(IFX_FileRead* pFileAccess, uint32_t offset);
115 void SetEncryptDictionary(CPDF_Dictionary* pDict); 115 void SetEncryptDictionary(CPDF_Dictionary* pDict);
116 void ShrinkObjectMap(FX_DWORD size); 116 void ShrinkObjectMap(uint32_t size);
117 117
118 CPDF_Document* m_pDocument; 118 CPDF_Document* m_pDocument;
119 std::unique_ptr<CPDF_SyntaxParser> m_pSyntax; 119 std::unique_ptr<CPDF_SyntaxParser> m_pSyntax;
120 bool m_bOwnFileRead; 120 bool m_bOwnFileRead;
121 int m_FileVersion; 121 int m_FileVersion;
122 CPDF_Dictionary* m_pTrailer; 122 CPDF_Dictionary* m_pTrailer;
123 CPDF_Dictionary* m_pEncryptDict; 123 CPDF_Dictionary* m_pEncryptDict;
124 FX_FILESIZE m_LastXRefOffset; 124 FX_FILESIZE m_LastXRefOffset;
125 FX_BOOL m_bXRefStream; 125 FX_BOOL m_bXRefStream;
126 std::unique_ptr<IPDF_SecurityHandler> m_pSecurityHandler; 126 std::unique_ptr<IPDF_SecurityHandler> m_pSecurityHandler;
127 CFX_ByteString m_bsRecipient; 127 CFX_ByteString m_bsRecipient;
128 CFX_ByteString m_FilePath; 128 CFX_ByteString m_FilePath;
129 CFX_ByteString m_Password; 129 CFX_ByteString m_Password;
130 std::map<FX_DWORD, ObjectInfo> m_ObjectInfo; 130 std::map<uint32_t, ObjectInfo> m_ObjectInfo;
131 std::set<FX_FILESIZE> m_SortedOffset; 131 std::set<FX_FILESIZE> m_SortedOffset;
132 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers; 132 CFX_ArrayTemplate<CPDF_Dictionary*> m_Trailers;
133 bool m_bVersionUpdated; 133 bool m_bVersionUpdated;
134 CPDF_Object* m_pLinearized; 134 CPDF_Object* m_pLinearized;
135 FX_DWORD m_dwFirstPageNo; 135 uint32_t m_dwFirstPageNo;
136 FX_DWORD m_dwXrefStartObjNum; 136 uint32_t m_dwXrefStartObjNum;
137 137
138 // A map of object numbers to indirect streams. Map owns the streams. 138 // A map of object numbers to indirect streams. Map owns the streams.
139 std::map<FX_DWORD, std::unique_ptr<CPDF_StreamAcc>> m_ObjectStreamMap; 139 std::map<uint32_t, std::unique_ptr<CPDF_StreamAcc>> m_ObjectStreamMap;
140 140
141 // Mapping of object numbers to offsets. The offsets are relative to the first 141 // Mapping of object numbers to offsets. The offsets are relative to the first
142 // object in the stream. 142 // object in the stream.
143 using StreamObjectCache = std::map<FX_DWORD, FX_DWORD>; 143 using StreamObjectCache = std::map<uint32_t, uint32_t>;
144 144
145 // Mapping of streams to their object caches. This is valid as long as the 145 // Mapping of streams to their object caches. This is valid as long as the
146 // streams in |m_ObjectStreamMap| are valid. 146 // streams in |m_ObjectStreamMap| are valid.
147 std::map<CPDF_StreamAcc*, StreamObjectCache> m_ObjCache; 147 std::map<CPDF_StreamAcc*, StreamObjectCache> m_ObjCache;
148 148
149 // All indirect object numbers that are being parsed. 149 // All indirect object numbers that are being parsed.
150 std::set<FX_DWORD> m_ParsingObjNums; 150 std::set<uint32_t> m_ParsingObjNums;
151 151
152 friend class CPDF_DataAvail; 152 friend class CPDF_DataAvail;
153 153
154 private: 154 private:
155 enum class ParserState { 155 enum class ParserState {
156 kDefault, 156 kDefault,
157 kComment, 157 kComment,
158 kWhitespace, 158 kWhitespace,
159 kString, 159 kString,
160 kHexString, 160 kHexString,
161 kEscapedString, 161 kEscapedString,
162 kXref, 162 kXref,
163 kObjNum, 163 kObjNum,
164 kPostObjNum, 164 kPostObjNum,
165 kGenNum, 165 kGenNum,
166 kPostGenNum, 166 kPostGenNum,
167 kTrailer, 167 kTrailer,
168 kBeginObj, 168 kBeginObj,
169 kEndObj 169 kEndObj
170 }; 170 };
171 }; 171 };
172 172
173 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_ 173 #endif // CORE_FPDFAPI_FPDF_PARSER_INCLUDE_CPDF_PARSER_H_
OLDNEW
« no previous file with comments | « core/fpdfapi/fpdf_parser/include/cpdf_object.h ('k') | core/fpdfapi/fpdf_parser/include/cpdf_reference.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698