MrSID Decode SDK for Raster Reference Manual  9.5.1.4427
lt_ioStreamInf.h
Go to the documentation of this file.
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 };
00202 
00203 
00204 
00205 LT_END_NAMESPACE( LizardTech )
00206 
00207 
00208 #endif   // LT_STREAMINF_H