OLD | NEW |
| (Empty) |
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_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_ | |
8 #define CORE_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_ | |
9 | |
10 #include "core/include/fxcrt/fx_system.h" | |
11 | |
12 class CPDF_Parser; | |
13 class CPDF_Dictionary; | |
14 class IPDF_CryptoHandler; | |
15 | |
16 #define FXCIPHER_NONE 0 | |
17 #define FXCIPHER_RC4 1 | |
18 #define FXCIPHER_AES 2 | |
19 #define FXCIPHER_AES2 3 | |
20 | |
21 class IPDF_SecurityHandler { | |
22 public: | |
23 virtual ~IPDF_SecurityHandler(); | |
24 virtual FX_BOOL OnInit(CPDF_Parser* pParser, | |
25 CPDF_Dictionary* pEncryptDict) = 0; | |
26 | |
27 virtual FX_DWORD GetPermissions() = 0; | |
28 virtual FX_BOOL GetCryptInfo(int& cipher, | |
29 const uint8_t*& buffer, | |
30 int& keylen) = 0; | |
31 | |
32 virtual FX_BOOL IsMetadataEncrypted() = 0; | |
33 virtual IPDF_CryptoHandler* CreateCryptoHandler() = 0; | |
34 }; | |
35 | |
36 #endif // CORE_INCLUDE_FPDFAPI_IPDF_SECURITY_HANDLER_H_ | |
OLD | NEW |