1 // Copyright (c) 2010 The Chromium 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.
5 #ifndef PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_
6 #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_
10 #include "third_party/pdfium/fpdfsdk/include/fpdfsave.h"
12 namespace chrome_pdf
{
14 // Implementation of FPDF_FILEWRITE into a memory buffer.
15 class PDFiumMemBufferFileWrite
: public FPDF_FILEWRITE
{
17 PDFiumMemBufferFileWrite();
18 ~PDFiumMemBufferFileWrite();
20 const std::basic_string
<unsigned char>& buffer() { return buffer_
; }
21 size_t size() { return buffer_
.size(); }
24 int DoWriteBlock(const void* data
, unsigned long size
);
25 static int WriteBlockImpl(FPDF_FILEWRITE
* this_file_write
, const void* data
,
28 std::basic_string
<unsigned char> buffer_
;
31 } // namespace chrome_pdf
33 #endif // PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_