1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2017 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #ifndef FPDFSDK_CPDFSDK_FILEWRITEADAPTER_H_ 8*3ac0a46fSAndroid Build Coastguard Worker #define FPDFSDK_CPDFSDK_FILEWRITEADAPTER_H_ 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/fx_stream.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/retain_ptr.h" 12*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/unowned_ptr.h" 13*3ac0a46fSAndroid Build Coastguard Worker #include "public/fpdf_save.h" 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker class CPDFSDK_FileWriteAdapter final : public IFX_RetainableWriteStream { 16*3ac0a46fSAndroid Build Coastguard Worker public: 17*3ac0a46fSAndroid Build Coastguard Worker CONSTRUCT_VIA_MAKE_RETAIN; 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker // IFX_WriteStream: 20*3ac0a46fSAndroid Build Coastguard Worker bool WriteBlock(pdfium::span<const uint8_t> buffer) override; 21*3ac0a46fSAndroid Build Coastguard Worker 22*3ac0a46fSAndroid Build Coastguard Worker private: 23*3ac0a46fSAndroid Build Coastguard Worker explicit CPDFSDK_FileWriteAdapter(FPDF_FILEWRITE* file_write); 24*3ac0a46fSAndroid Build Coastguard Worker ~CPDFSDK_FileWriteAdapter() override; 25*3ac0a46fSAndroid Build Coastguard Worker 26*3ac0a46fSAndroid Build Coastguard Worker UnownedPtr<FPDF_FILEWRITE> file_write_; 27*3ac0a46fSAndroid Build Coastguard Worker }; 28*3ac0a46fSAndroid Build Coastguard Worker 29*3ac0a46fSAndroid Build Coastguard Worker #endif // FPDFSDK_CPDFSDK_FILEWRITEADAPTER_H_ 30