summaryrefslogtreecommitdiffstats
path: root/pdf/pdfium/pdfium_mem_buffer_file_write.cc
blob: 45e564b67baf7f08851ae00a03f325c8b7fc5f2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "pdf/pdfium/pdfium_mem_buffer_file_write.h"

namespace chrome_pdf {

PDFiumMemBufferFileWrite::PDFiumMemBufferFileWrite() {
  version = 1;
  WriteBlock = &WriteBlockImpl;
}

PDFiumMemBufferFileWrite::~PDFiumMemBufferFileWrite() {
}

int PDFiumMemBufferFileWrite::WriteBlockImpl(FPDF_FILEWRITE* this_file_write,
                                             const void* data,
                                             unsigned long size) {
  PDFiumMemBufferFileWrite* mem_buffer_file_write =
      static_cast<PDFiumMemBufferFileWrite*>(this_file_write);
  return mem_buffer_file_write->DoWriteBlock(data, size);
}

int PDFiumMemBufferFileWrite::DoWriteBlock(const void* data,
                                           unsigned long size) {
  buffer_.append(static_cast<const unsigned char*>(data), size);
  return 1;
}


}  // namespace chrome_pdf