diff options
author | tsepez <tsepez@chromium.org> | 2016-12-01 15:16:54 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-12-01 15:16:54 -0800 |
commit | f78bf1a54a4afb6486869b4bc5850283225d7055 (patch) | |
tree | d89a4158bb76dc837ba9cd1639337296dd60bd9c /xfa/fxfa/app/xfa_ffapp.cpp | |
parent | d912f6ba083fed382a13c47aa06299e86d0b8c6b (diff) | |
download | pdfium-f78bf1a54a4afb6486869b4bc5850283225d7055.tar.xz |
Make concrete stream classes private to .cpp, part 3
Review-Url: https://codereview.chromium.org/2545953002
Diffstat (limited to 'xfa/fxfa/app/xfa_ffapp.cpp')
-rw-r--r-- | xfa/fxfa/app/xfa_ffapp.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/xfa/fxfa/app/xfa_ffapp.cpp b/xfa/fxfa/app/xfa_ffapp.cpp index 797c3e72f0..9c0411b731 100644 --- a/xfa/fxfa/app/xfa_ffapp.cpp +++ b/xfa/fxfa/app/xfa_ffapp.cpp @@ -21,6 +21,22 @@ #include "xfa/fxfa/xfa_ffwidgethandler.h" #include "xfa/fxfa/xfa_fontmgr.h" +namespace { + +class CXFA_FileRead : public IFX_SeekableReadStream { + public: + explicit CXFA_FileRead(const std::vector<CPDF_Stream*>& streams); + ~CXFA_FileRead() override; + + // IFX_SeekableReadStream + FX_FILESIZE GetSize() override; + bool ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override; + void Release() override; + + private: + CFX_ObjectArray<CPDF_StreamAcc> m_Data; +}; + CXFA_FileRead::CXFA_FileRead(const std::vector<CPDF_Stream*>& streams) { for (CPDF_Stream* pStream : streams) { CPDF_StreamAcc& acc = m_Data.Add(); @@ -72,6 +88,13 @@ void CXFA_FileRead::Release() { delete this; } +} // namespace + +IFX_SeekableReadStream* MakeSeekableReadStream( + const std::vector<CPDF_Stream*>& streams) { + return new CXFA_FileRead(streams); +} + CXFA_FFApp::CXFA_FFApp(IXFA_AppProvider* pProvider) : m_pProvider(pProvider), m_pWidgetMgrDelegate(nullptr), |