MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
00001 /* $Id$ */ 00002 /* ////////////////////////////////////////////////////////////////////////// 00003 // // 00004 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, // 00005 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00006 // prohibited. Access to and use of this code is permitted only under // 00007 // license from LizardTech, Inc. Portions of the code are protected by // 00008 // US and foreign patents and other filings. All Rights Reserved. // 00009 // // 00011 /* PUBLIC */ 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