summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdfsave.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-05-09 12:36:41 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-05-09 17:50:54 +0000
commitae4656edebaea24d18d11a845c663240bf8e9d2d (patch)
tree51bcfc9916a1e13ca080f76a4cf65b21fa647993 /fpdfsdk/fpdfsave.cpp
parenta0b1954794b7a8a279ba00787628cc7f8d1419d9 (diff)
downloadpdfium-ae4656edebaea24d18d11a845c663240bf8e9d2d.tar.xz
Move FPDF_FILEWRITE adapter to own file
This Cl moves the adapater out of the fpdfsave.cpp file into its own h/cpp files. The adapter was renamed for clarity. The CPDF_Creator was modified to take the adapter as a constructor param and the Create methods consolidated. Change-Id: Icb104f195ef532dda053c859aae356a8d4a7a54c Reviewed-on: https://pdfium-review.googlesource.com/5151 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fpdfsdk/fpdfsave.cpp')
-rw-r--r--fpdfsdk/fpdfsave.cpp51
1 files changed, 6 insertions, 45 deletions
diff --git a/fpdfsdk/fpdfsave.cpp b/fpdfsdk/fpdfsave.cpp
index 638c22be26..b0e0ec7cc3 100644
--- a/fpdfsdk/fpdfsave.cpp
+++ b/fpdfsdk/fpdfsave.cpp
@@ -19,6 +19,7 @@
#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/fx_extension.h"
#include "fpdfsdk/fsdk_define.h"
+#include "fpdfsdk/fsdk_filewriteadapter.h"
#include "public/fpdf_edit.h"
#ifdef PDF_ENABLE_XFA
@@ -39,45 +40,6 @@
#include <ctime>
#endif
-class CFX_IFileWrite final : public IFX_WriteStream {
- public:
- static CFX_RetainPtr<CFX_IFileWrite> Create();
-
- bool Init(FPDF_FILEWRITE* pFileWriteStruct);
- bool WriteBlock(const void* pData, size_t size) override;
-
- protected:
- template <typename T, typename... Args>
- friend CFX_RetainPtr<T> pdfium::MakeRetain(Args&&... args);
-
- CFX_IFileWrite();
- ~CFX_IFileWrite() override {}
-
- FPDF_FILEWRITE* m_pFileWriteStruct;
-};
-
-CFX_RetainPtr<CFX_IFileWrite> CFX_IFileWrite::Create() {
- return pdfium::MakeRetain<CFX_IFileWrite>();
-}
-
-CFX_IFileWrite::CFX_IFileWrite() : m_pFileWriteStruct(nullptr) {}
-
-bool CFX_IFileWrite::Init(FPDF_FILEWRITE* pFileWriteStruct) {
- if (!pFileWriteStruct)
- return false;
-
- m_pFileWriteStruct = pFileWriteStruct;
- return true;
-}
-
-bool CFX_IFileWrite::WriteBlock(const void* pData, size_t size) {
- if (!m_pFileWriteStruct)
- return false;
-
- m_pFileWriteStruct->WriteBlock(m_pFileWriteStruct, pData, size);
- return true;
-}
-
namespace {
#ifdef PDF_ENABLE_XFA
@@ -294,17 +256,16 @@ bool FPDF_Doc_Save(FPDF_DOCUMENT document,
if (flags < FPDF_INCREMENTAL || flags > FPDF_REMOVE_SECURITY)
flags = 0;
- CPDF_Creator FileMaker(pPDFDoc);
+ CPDF_Creator fileMaker(pPDFDoc,
+ pdfium::MakeRetain<FSDK_FileWriteAdapter>(pFileWrite));
if (bSetVersion)
- FileMaker.SetFileVersion(fileVerion);
+ fileMaker.SetFileVersion(fileVerion);
if (flags == FPDF_REMOVE_SECURITY) {
flags = 0;
- FileMaker.RemoveSecurity();
+ fileMaker.RemoveSecurity();
}
- CFX_RetainPtr<CFX_IFileWrite> pStreamWrite = CFX_IFileWrite::Create();
- pStreamWrite->Init(pFileWrite);
- bool bRet = FileMaker.Create(pStreamWrite, flags);
+ bool bRet = fileMaker.Create(flags);
#ifdef PDF_ENABLE_XFA
SendPostSaveToXFADoc(pContext);
#endif // PDF_ENABLE_XFA