MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
lt_ioStreamInf.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef LT_STREAMINF_H
14 #define LT_STREAMINF_H
15 
16 #include "lt_lib_io.h"
17 
18 
20 
21 
22 
23 
31 {
32 public:
33  virtual ~LTIOStreamInf() = 0;
34 
39 
50  virtual bool isEOF() =0;
51 
58  virtual bool isOpen() =0;
59 
61 
62 
67 
81  virtual LT_STATUS open() =0;
82 
93  virtual LT_STATUS close() =0;
94 
96 
97 
102 
112  virtual lt_uint32 read( lt_uint8 *pDest, lt_uint32 numBytes ) = 0;
113 
122  virtual lt_uint32 write( const lt_uint8 *pSrc, lt_uint32 numBytes ) = 0;
123 
125 
130 
143  virtual LT_STATUS seek( lt_int64 offset, LTIOSeekDir origin ) =0;
144 
152  virtual lt_int64 tell() =0;
153 
155 
160 
170  virtual LTIOStreamInf* duplicate() =0;
171 
172 
183  virtual LT_STATUS getLastError() const =0;
184 
185 
197  virtual const char* getID() const =0;
198 
200 
201 
206  virtual char *readString(int delimiter = '\0');
207 };
208 
209 
210 
212 
213 
214 #endif // LT_STREAMINF_H
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
LTIOSeekDir
Stream seek directions.
Definition: lt_lib_io.h:30
Abstract definition of a stream.
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
Support for the IO classes.
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
unsigned char lt_uint8
unsigned 8-bit integer
Definition: lt_types.h:46

LizardTech