1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#ifndef PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_READ_H_ 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_READ_H_ 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <stdlib.h> 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "third_party/pdfium/fpdfsdk/include/fpdfview.h" 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)namespace chrome_pdf { 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Implementation of FPDF_FILEACCESS from a memory buffer. 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class PDFiumMemBufferFileRead : public FPDF_FILEACCESS { 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) public: 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) PDFiumMemBufferFileRead(const void* data, size_t size); 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ~PDFiumMemBufferFileRead(); 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) private: 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) static int GetBlock(void* param, 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) unsigned long position, 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) unsigned char* buf, 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) unsigned long size); 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) const unsigned char* data_; 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} // namespace chrome_pdf 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif // PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_READ_H_ 31