MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
lt_ioMemStream.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 
14 #ifndef LT_IO_MEM_STREAM_H
15 #define LT_IO_MEM_STREAM_H
16 
17 #include "lt_ioStreamInf.h"
18 
19 LT_BEGIN_NAMESPACE( LizardTech )
20 
21 
22 
28 {
29 public:
30  LTIOMemStream();
31  virtual ~LTIOMemStream();
32 
43  virtual LT_STATUS initialize( void* data, lt_uint32 size );
44 
52  virtual LT_STATUS initialize( lt_uint32 size );
55  virtual bool isEOF();
56  virtual bool isOpen();
57  virtual LT_STATUS open();
58  virtual LT_STATUS close();
59  virtual lt_uint32 read( lt_uint8 *pDest, lt_uint32 numBytes );
60  virtual lt_uint32 write( const lt_uint8 *pSrc, lt_uint32 numBytes );
61  virtual LT_STATUS seek( lt_int64 offset, LTIOSeekDir origin );
62  virtual lt_int64 tell();
63  virtual LTIOStreamInf* duplicate();
64  virtual LT_STATUS getLastError() const;
65  virtual const char* getID() const;
66 
67 protected:
68 
71 
74 
77 
79  bool m_ownsData;
80 
82  bool m_isOpen;
83 
84  bool m_isEOF;
85 };
86 
87 
88 LT_END_NAMESPACE( LizardTech )
89 
90 
91 #endif // LT_IO_MEM_STREAM_H

LizardTech