1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2018 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 #ifndef TESTING_STRING_WRITE_STREAM_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_STRING_WRITE_STREAM_H_ 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker #include <sstream> 9*3ac0a46fSAndroid Build Coastguard Worker #include <string> 10*3ac0a46fSAndroid Build Coastguard Worker 11*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/fx_stream.h" 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker class StringWriteStream final : public IFX_RetainableWriteStream { 14*3ac0a46fSAndroid Build Coastguard Worker public: 15*3ac0a46fSAndroid Build Coastguard Worker StringWriteStream(); 16*3ac0a46fSAndroid Build Coastguard Worker ~StringWriteStream() override; 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Worker // IFX_WriteStream: 19*3ac0a46fSAndroid Build Coastguard Worker bool WriteBlock(pdfium::span<const uint8_t> buffer) override; 20*3ac0a46fSAndroid Build Coastguard Worker ToString()21*3ac0a46fSAndroid Build Coastguard Worker std::string ToString() const { return stream_.str(); } 22*3ac0a46fSAndroid Build Coastguard Worker 23*3ac0a46fSAndroid Build Coastguard Worker private: 24*3ac0a46fSAndroid Build Coastguard Worker std::ostringstream stream_; 25*3ac0a46fSAndroid Build Coastguard Worker }; 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_STRING_WRITE_STREAM_H_ 28