![]() |
00001 //--------------------------------------------------------------------------------------- 00002 // Copyright (c) 2001-2010 by PDFTron Systems Inc. All Rights Reserved. 00003 // Consult legal.txt regarding legal and license information. 00004 //--------------------------------------------------------------------------------------- 00005 00006 #ifndef H_CPPFilterFilterReader 00007 #define H_CPPFilterFilterReader 00008 #include <Common/Common.h> 00009 #include <C/Filters/TRN_FilterReader.h> 00010 #include <Filters/Filter.h> 00011 00012 namespace pdftron { 00013 namespace Filters { 00014 00015 00027 class FilterReader 00028 { 00029 public: 00030 00031 FilterReader (); 00032 FilterReader (Filter& filter); 00033 ~FilterReader (); 00034 00038 int Get(); 00039 00044 int Peek(); 00045 00051 size_t Read(UChar* buf, size_t buf_size); 00052 00056 void AttachFilter(Filter& filter); 00057 00061 Filter GetAttachedFilter(); 00062 00078 void Seek(ptrdiff_t offset, Filter::ReferencePos origin); 00079 00086 ptrdiff_t Tell (); 00087 00092 size_t Count (); 00093 00097 void Flush (); 00098 00102 void FlushAll (); 00103 00104 //private: 00106 TRN_FilterReader m_impl; 00108 }; 00109 00110 00111 #include <Impl/FilterReader.inl> 00112 00113 }; // namespace Filters 00114 }; // namespace pdftron 00115 00116 00117 #endif 00118