00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012
00013 #ifndef LT_STREAMINF_H
00014 #define LT_STREAMINF_H
00015
00016 #include "lt_lib_io.h"
00017
00018
00019 LT_BEGIN_NAMESPACE( LizardTech )
00020
00021
00022
00023
00030 class LTIOStreamInf
00031 {
00032 public:
00033 virtual ~LTIOStreamInf() = 0;
00034
00039
00050 virtual bool isEOF() =0;
00051
00058 virtual bool isOpen() =0;
00059
00061
00062
00067
00081 virtual LT_STATUS open() =0;
00082
00093 virtual LT_STATUS close() =0;
00094
00096
00097
00102
00112 virtual lt_uint32 read( lt_uint8 *pDest, lt_uint32 numBytes ) = 0;
00113
00122 virtual lt_uint32 write( const lt_uint8 *pSrc, lt_uint32 numBytes ) = 0;
00123
00125
00130
00143 virtual LT_STATUS seek( lt_int64 offset, LTIOSeekDir origin ) =0;
00144
00152 virtual lt_int64 tell() =0;
00153
00155
00160
00170 virtual LTIOStreamInf* duplicate() =0;
00171
00172
00183 virtual LT_STATUS getLastError() const =0;
00184
00185
00197 virtual const char* getID() const =0;
00198
00200
00201
00206 virtual char *readString(int delimiter = '\0');
00207 };
00208
00209
00210
00211 LT_END_NAMESPACE( LizardTech )
00212
00213
00214 #endif // LT_STREAMINF_H