K. Moon | 832a694 | 2022-10-31 20:11:31 +0000 | [diff] [blame] | 1 | // Copyright 2019 The PDFium Authors |
Lei Zhang | 99d1b0c | 2019-02-05 18:59:12 +0000 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #ifndef TESTING_INVALID_SEEKABLE_READ_STREAM_H_ |
| 6 | #define TESTING_INVALID_SEEKABLE_READ_STREAM_H_ |
| 7 | |
| 8 | #include "core/fxcrt/fx_stream.h" |
Lei Zhang | ff87ac9 | 2021-04-13 17:46:26 +0000 | [diff] [blame] | 9 | #include "core/fxcrt/retain_ptr.h" |
Lei Zhang | 99d1b0c | 2019-02-05 18:59:12 +0000 | [diff] [blame] | 10 | |
| 11 | // A stream used for testing where reads always fail. |
| 12 | class InvalidSeekableReadStream final : public IFX_SeekableReadStream { |
| 13 | public: |
Tom Sepez | b9d9b61 | 2020-06-17 20:47:22 +0000 | [diff] [blame] | 14 | CONSTRUCT_VIA_MAKE_RETAIN; |
Lei Zhang | 99d1b0c | 2019-02-05 18:59:12 +0000 | [diff] [blame] | 15 | |
| 16 | // IFX_SeekableReadStream overrides: |
Tom Sepez | 6a39df1 | 2022-11-01 20:29:35 +0000 | [diff] [blame] | 17 | bool ReadBlockAtOffset(pdfium::span<uint8_t> buffer, |
| 18 | FX_FILESIZE offset) override; |
Lei Zhang | 99d1b0c | 2019-02-05 18:59:12 +0000 | [diff] [blame] | 19 | FX_FILESIZE GetSize() override; |
| 20 | |
| 21 | private: |
| 22 | explicit InvalidSeekableReadStream(FX_FILESIZE data_size); |
| 23 | ~InvalidSeekableReadStream() override; |
| 24 | |
| 25 | const FX_FILESIZE data_size_; |
| 26 | }; |
| 27 | |
| 28 | #endif // TESTING_INVALID_SEEKABLE_READ_STREAM_H_ |