00001
00002
00003
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 std::vector<unsigned char> Read(size_t buf_size);
00052
00053 #ifndef SWIG
00054 size_t Read(UChar* buf, size_t buf_size);
00055 #endif
00056
00060 void AttachFilter(Filter& filter);
00061
00065 Filter GetAttachedFilter();
00066
00082 void Seek(ptrdiff_t offset, Filter::ReferencePos origin);
00083
00090 ptrdiff_t Tell ();
00091
00096 size_t Count ();
00097
00101 void Flush ();
00102
00106 void FlushAll ();
00107
00108
00110 #ifndef SWIGHIDDEN
00111 TRN_FilterReader m_impl;
00112 #endif
00114 };
00115
00116
00117 #include <Impl/FilterReader.inl>
00118
00119 };
00120 };
00121
00122
00123 #endif
00124