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
00034
00035
00036
00037 #if defined(LT_COMPILER_GNU) || defined(LT_COMPILER_SUN) || defined(SWIG)
00038
00039
00040 virtual ~LTIOStreamInf() =0;
00041 #else
00042 virtual ~LTIOStreamInf() =0 {};
00043 #endif
00044
00049
00060 virtual bool isEOF() =0;
00061
00068 virtual bool isOpen() =0;
00069
00071
00072
00077
00091 virtual LT_STATUS open() =0;
00092
00103 virtual LT_STATUS close() =0;
00104
00106
00107
00112
00122 virtual lt_uint32 read( lt_uint8 *pDest, lt_uint32 numBytes ) = 0;
00123
00132 virtual lt_uint32 write( const lt_uint8 *pSrc, lt_uint32 numBytes ) = 0;
00133
00135
00140
00153 virtual LT_STATUS seek( lt_int64 offset, LTIOSeekDir origin ) =0;
00154
00162 virtual lt_int64 tell() =0;
00163
00165
00170
00180 virtual LTIOStreamInf* duplicate() =0;
00181
00182
00193 virtual LT_STATUS getLastError() const =0;
00194
00195
00207 virtual const char* getID() const =0;
00208
00210
00211 };
00212
00213
00214
00215 LT_END_NAMESPACE( LizardTech )
00216
00217
00218 #endif // LT_STREAMINF_H