OLD | NEW |
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_FPDFDOC_INCLUDE_CPDF_FILESPEC_H_ | 7 #ifndef CORE_FPDFDOC_CPDF_FILESPEC_H_ |
8 #define CORE_FPDFDOC_INCLUDE_CPDF_FILESPEC_H_ | 8 #define CORE_FPDFDOC_CPDF_FILESPEC_H_ |
9 | 9 |
10 #include "core/fxcrt/include/cfx_string_pool_template.h" | 10 #include "core/fxcrt/include/cfx_string_pool_template.h" |
11 #include "core/fxcrt/include/cfx_weak_ptr.h" | 11 #include "core/fxcrt/include/cfx_weak_ptr.h" |
12 #include "core/fxcrt/include/fx_string.h" | 12 #include "core/fxcrt/include/fx_string.h" |
13 | 13 |
14 class CPDF_Object; | 14 class CPDF_Object; |
15 | 15 |
16 class CPDF_FileSpec { | 16 class CPDF_FileSpec { |
17 public: | 17 public: |
18 explicit CPDF_FileSpec(const CFX_WeakPtr<CFX_ByteStringPool>& pPool); | 18 explicit CPDF_FileSpec(const CFX_WeakPtr<CFX_ByteStringPool>& pPool); |
19 explicit CPDF_FileSpec(CPDF_Object* pObj) : m_pObj(pObj) {} | 19 explicit CPDF_FileSpec(CPDF_Object* pObj) : m_pObj(pObj) {} |
20 | 20 |
21 // Convert a platform dependent file name into pdf format. | 21 // Convert a platform dependent file name into pdf format. |
22 static CFX_WideString EncodeFileName(const CFX_WideStringC& filepath); | 22 static CFX_WideString EncodeFileName(const CFX_WideStringC& filepath); |
23 | 23 |
24 // Convert a pdf file name into platform dependent format. | 24 // Convert a pdf file name into platform dependent format. |
25 static CFX_WideString DecodeFileName(const CFX_WideStringC& filepath); | 25 static CFX_WideString DecodeFileName(const CFX_WideStringC& filepath); |
26 | 26 |
27 CPDF_Object* GetObj() const { return m_pObj; } | 27 CPDF_Object* GetObj() const { return m_pObj; } |
28 bool GetFileName(CFX_WideString* wsFileName) const; | 28 bool GetFileName(CFX_WideString* wsFileName) const; |
29 | 29 |
30 // Set this file spec to refer to a file name (not a url). | 30 // Set this file spec to refer to a file name (not a url). |
31 void SetFileName(const CFX_WideStringC& wsFileName); | 31 void SetFileName(const CFX_WideStringC& wsFileName); |
32 | 32 |
33 private: | 33 private: |
34 CPDF_Object* m_pObj; | 34 CPDF_Object* m_pObj; |
35 }; | 35 }; |
36 | 36 |
37 #endif // CORE_FPDFDOC_INCLUDE_CPDF_FILESPEC_H_ | 37 #endif // CORE_FPDFDOC_CPDF_FILESPEC_H_ |
OLD | NEW |