#include <lt_ioStreamInf.h>
Public Member Functions | |
virtual | ~LTIOStreamInf ()=0 |
Status accessors | |
virtual bool | isEOF ()=0 |
Test for end-of-stream. | |
virtual bool | isOpen ()=0 |
Test for stream openness. | |
Opening and closing | |
virtual LT_STATUS | open ()=0 |
Opens the stream. | |
virtual LT_STATUS | close ()=0 |
Closes the stream. | |
Data access | |
virtual lt_uint32 | read (lt_uint8 *pDest, lt_uint32 numBytes)=0 |
Retrieve the specified number of bytes from the data source and place them in pDest. | |
virtual lt_uint32 | write (const lt_uint8 *pSrc, lt_uint32 numBytes)=0 |
Store the specified number of bytes in the data source. | |
Positioning | |
virtual LT_STATUS | seek (lt_int64 offset, LTIOSeekDir origin)=0 |
Moves the data access position to origin + offset. | |
virtual lt_int64 | tell ()=0 |
Returns the current data access position as an offset from the start of the data. | |
Other operations | |
virtual LTIOStreamInf * | duplicate ()=0 |
Clone the stream. | |
virtual LT_STATUS | getLastError () const =0 |
Get status code of last error event. | |
virtual const char * | getID () const =0 |
Get a URI describing the stream object. |
Definition at line 30 of file lt_ioStreamInf.h.
virtual LTIOStreamInf::~LTIOStreamInf | ( | ) | [inline, pure virtual] |
Definition at line 42 of file lt_ioStreamInf.h.
virtual bool LTIOStreamInf::isEOF | ( | ) | [pure virtual] |
Returns true after the first read operation that attempts to read past the end of the stream. It returns false if the current position is not end of stream.
true | end of stream | |
false | otherwise |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual bool LTIOStreamInf::isOpen | ( | ) | [pure virtual] |
true | The stream is open | |
false | otherwise |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual LT_STATUS LTIOStreamInf::open | ( | ) | [pure virtual] |
Opening a stream puts it in a state that allows data access based on cached initialization parameters.
LT_STS_IOStreamUninitialized | The stream has not been initialized with enough information to open the stream | |
LT_STS_IOStreamInvalidState | The stream is already open | |
LT_STS_Success | On success. | |
LT_STS_Failure | Failure. | |
other | Implementations may return other codes |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual LT_STATUS LTIOStreamInf::close | ( | ) | [pure virtual] |
Puts the stream in a state that does not allow data access. May free up resources, but only in such a way that doesn't inhibit successful future calls to open()
LT_STS_Success | On success, or if the stream is already closed. | |
LT_STS_Failure | Otherwise. |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
pDest | buffer in which to store read data | |
numBytes | number of bytes to read from stream |
numBytes | The number of bytes actually read |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
pSrc | buffer from which to store data | |
numBytes | number of bytes to write to stream |
numBytes | number of bytes actually written |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual LT_STATUS LTIOStreamInf::seek | ( | lt_int64 | offset, | |
LTIOSeekDir | origin | |||
) | [pure virtual] |
offset | number of bytes from origin at which to the next read or write will take place | |
origin | place in stream from which to seek |
LT_STS_IOStreamUnsupported | The stream is not seekable | |
LT_STS_IOStreamInvalidArgs | The offset and origin do not specify a valid location in the stream | |
LT_STS_Success | On success | |
LT_STS_Failure | Otherwise | |
other | Implementations may return other codes |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual lt_int64 LTIOStreamInf::tell | ( | ) | [pure virtual] |
postion | Number of bytes from the start of the data | |
-1 | On error. | |
other | Implementations may return other codes |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual LTIOStreamInf* LTIOStreamInf::duplicate | ( | ) | [pure virtual] |
Create new stream of the same type with the same initialization parameters. The transmission of these parameters is the responsibility of the derived type. The new stream should initially return false for isOpen().
NULL | the stream could not be duplicated; valid LTIOStreamInf* otherwise. |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual LT_STATUS LTIOStreamInf::getLastError | ( | ) | const [pure virtual] |
read(), write(), tell(), and duplicate() do not explicitly return status codes in the event of an error. When an error has occurred, this function returns the appropriate status code. Note calling this function after a successful I/O operation will return an undefined value.
status | the error code |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
virtual const char* LTIOStreamInf::getID | ( | ) | const [pure virtual] |
This function returns a UTF-8, null-terminated string which is a URI describing the origin of the stream object -- for example, "file://foo.txt" or "lt_memstream:". This string is only intended for diagnostic purposes, i.e. it may not be valid to pass it to the ctor in an attempt to reopen the stream.
uri | the uri string |
Implemented in LTIOBufferedStream, LTIOCallbackStream, LTIODynamicMemStream, LTIOFileStream, LTIOMemStream, and LTIOSubStream.
LizardTech |