OSRTInputStream Class Reference
[Generic Input Stream Classes]
This is the base class for input streams. More...
#include <OSRTInputStream.h>
![](classOSRTInputStream.png)
Public Member Functions | |
EXTRTMETHOD | OSRTInputStream () |
The default constructor. | |
virtual EXTRTMETHOD | ~OSRTInputStream () |
Virtual destructor. | |
virtual EXTRTMETHOD int | close () |
Closes the input or output stream and releases any system resources associated with the stream. | |
virtual EXTRTMETHOD size_t | currentPos () |
This method returns the current position in the stream (in octets). | |
virtual EXTRTMETHOD int | flush () |
Flushes the buffered data to the stream. | |
virtual OSBOOL | isA (StreamID id) const |
This method is used to query a stream object in order to determine its actual type. | |
virtual OSRTCtxtPtr | getContext () |
This method returns a pointer to the underlying OSRTContext object. | |
virtual OSCTXT * | getCtxtPtr () |
This method returns a pointer to the underlying OSCTXT object. | |
virtual char * | getErrorInfo () |
Returns error text in a dynamic memory buffer. | |
virtual char * | getErrorInfo (char *pBuf, size_t &bufSize) |
Returns error text in a memory buffer. | |
virtual int | getPosition (size_t *ppos) |
Returns the current stream position. | |
virtual int | getStatus () const |
This method returns the completion status of previous operation. | |
virtual EXTRTMETHOD OSBOOL | isOpened () |
Checks, is the stream opened or not. | |
virtual EXTRTMETHOD OSBOOL | markSupported () |
Tests if this input stream supports the mark and reset methods. | |
virtual EXTRTMETHOD int | mark (size_t readAheadLimit) |
This method marks the current position in this input stream. | |
void | printErrorInfo () |
The printErrorInfo method prints information on errors contained within the context. | |
void | resetErrorInfo () |
The resetErrorInfo method resets information on errors contained within the context. | |
virtual EXTRTMETHOD long | read (OSOCTET *pDestBuf, size_t maxToRead) |
Read data from the stream. | |
virtual EXTRTMETHOD long | readBlocking (OSOCTET *pDestBuf, size_t toReadBytes) |
Read data from the stream. | |
virtual EXTRTMETHOD int | reset () |
Repositions this stream to the position at the time the mark method was last called on this input stream. | |
virtual int | setPosition (size_t pos) |
Sets the current stream position to the given offset. | |
virtual EXTRTMETHOD int | skip (size_t n) |
Skips over and discards the specified amount of data octets from this input stream. |
Detailed Description
This is the base class for input streams.
These streams are buffered (I/O is stored in memory prior to being written) to provide higher performance.
Definition at line 41 of file OSRTInputStream.h.
Constructor & Destructor Documentation
EXTRTMETHOD OSRTInputStream::OSRTInputStream | ( | ) |
The default constructor.
It initializes a buffered stream. A buffered stream maintains data in memory before reading or writing to the device. This generally provides better performance than an unbuffered stream.
- Exceptions:
-
OSRTStreamException Stream create or initialize failed.
virtual EXTRTMETHOD OSRTInputStream::~OSRTInputStream | ( | ) | [virtual] |
Virtual destructor.
Closes the stream if it was opened.
Member Function Documentation
virtual EXTRTMETHOD int OSRTInputStream::close | ( | ) | [virtual] |
Closes the input or output stream and releases any system resources associated with the stream.
For output streams this function also flushes all internal buffers to the stream.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxStreamClose, rtxStreamBufClose
Reimplemented from OSRTStream.
virtual EXTRTMETHOD size_t OSRTInputStream::currentPos | ( | ) | [virtual] |
This method returns the current position in the stream (in octets).
- Returns:
- The number of octets already read from the stream.
virtual EXTRTMETHOD int OSRTInputStream::flush | ( | ) | [virtual] |
Flushes the buffered data to the stream.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxStreamFlush, rtxStreamBufFlush
Reimplemented from OSRTStream.
virtual OSRTCtxtPtr OSRTInputStream::getContext | ( | ) | [inline, virtual] |
This method returns a pointer to the underlying OSRTContext object.
- Returns:
- A reference-counted pointer to an OSRTContext object. The OSRTContext object will not be released until all referenced-counted pointer variables go out of scope. This allows safe sharing of the context between different run-time classes.
Reimplemented from OSRTStream.
Definition at line 110 of file OSRTInputStream.h.
References OSRTStream::getContext().
virtual OSCTXT* OSRTInputStream::getCtxtPtr | ( | ) | [inline, virtual] |
This method returns a pointer to the underlying OSCTXT object.
This is the structure used in calls to low-level C encode/decode functions.
- Returns:
- Pointer to a context (OSCTXT) structure.
Reimplemented from OSRTStream.
Definition at line 120 of file OSRTInputStream.h.
References OSRTStream::getCtxtPtr().
virtual char* OSRTInputStream::getErrorInfo | ( | char * | pBuf, | |
size_t & | bufSize | |||
) | [inline, virtual] |
Returns error text in a memory buffer.
If buffer pointer is specified in parameters (not NULL) then error text will be copied in the passed buffer. Otherwise, this method allocates memory using the 'operator new []' function. The calling routine is responsible to free the memory by using 'operator delete []'.
- Parameters:
-
pBuf A pointer to a destination buffer to obtain the error text. If NULL, dynamic buffer will be allocated. bufSize A reference to buffer size. If pBuf is NULL it will receive the size of allocated dynamic buffer.
- Returns:
- A pointer to a buffer with error text. If pBuf is not NULL, the return pointer will be equal to it. Otherwise, returns newly allocated buffer with error text. NULL, if error occurred.
Reimplemented from OSRTStream.
Definition at line 151 of file OSRTInputStream.h.
References OSRTStream::getErrorInfo().
virtual char* OSRTInputStream::getErrorInfo | ( | ) | [inline, virtual] |
Returns error text in a dynamic memory buffer.
Buffer will be allocated by 'operator new []'. The calling routine is responsible to free the memory by using 'operator delete []'.
- Returns:
- A pointer to a newly allocated buffer with error text.
Reimplemented from OSRTStream.
Definition at line 131 of file OSRTInputStream.h.
References OSRTStream::getErrorInfo().
virtual int OSRTInputStream::getPosition | ( | size_t * | ppos | ) | [virtual] |
Returns the current stream position.
This may be used with the setPosition
method to reset back to an arbitrary point in the input stream.
- Parameters:
-
ppos Pointer to a variable to receive position.
- Returns:
- Completion status of operation: 0 = success, negative return value is error.
virtual int OSRTInputStream::getStatus | ( | ) | const [inline, virtual] |
This method returns the completion status of previous operation.
It can be used to check completion status of constructors or methods, which do not return completion status.
- Returns:
- Runtime status code:
- 0 = success,
- negative return value is error.
Reimplemented from OSRTStream.
Definition at line 175 of file OSRTInputStream.h.
References OSRTStream::getStatus().
virtual OSBOOL OSRTInputStream::isA | ( | StreamID | id | ) | const [inline, virtual] |
This method is used to query a stream object in order to determine its actual type.
- Parameters:
-
id Enumerated stream identifier
- Returns:
- True if the stream matches the identifier
Reimplemented in OSRTFileInputStream, OSRTHexTextInputStream, OSRTMemoryInputStream, and OSRTSocketInputStream.
Definition at line 97 of file OSRTInputStream.h.
virtual EXTRTMETHOD OSBOOL OSRTInputStream::isOpened | ( | ) | [virtual] |
Checks, is the stream opened or not.
- Returns:
- s TRUE, if the stream is opened, FALSE otherwise.
- See also:
- rtxStreamIsOpened
Reimplemented from OSRTStream.
virtual EXTRTMETHOD int OSRTInputStream::mark | ( | size_t | readAheadLimit | ) | [virtual] |
This method marks the current position in this input stream.
A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes. The readAheadLimit argument tells this input stream to allow that many bytes to be read before the mark position gets invalidated.
- Parameters:
-
readAheadLimit the maximum limit of bytes that can be read before the mark position becomes invalid.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxStreamMark, rtxStreamReset
virtual EXTRTMETHOD OSBOOL OSRTInputStream::markSupported | ( | ) | [virtual] |
Tests if this input stream supports the mark and reset methods.
Whether or not mark and reset are supported is an invariant property of a particular input stream instance. By default, it returns FALSE.
- Returns:
- TRUE if this stream instance supports the mark and reset methods; FALSE otherwise.
- See also:
- rtxStreamIsMarkSupported
virtual EXTRTMETHOD long OSRTInputStream::read | ( | OSOCTET * | pDestBuf, | |
size_t | maxToRead | |||
) | [virtual] |
Read data from the stream.
This method reads up to maxToRead
bytes from the stream. It may return a value less then this if the mamimum number of bytes is not available.
- Parameters:
-
pDestBuf Pointer to a buffer to receive a data. maxToRead Size of the buffer.
- See also:
- rtxStreamRead
virtual EXTRTMETHOD long OSRTInputStream::readBlocking | ( | OSOCTET * | pDestBuf, | |
size_t | toReadBytes | |||
) | [virtual] |
Read data from the stream.
This method reads up to maxToRead
bytes from the stream. It may return a value less then this if the mamimum number of bytes is not available.
- Parameters:
-
pDestBuf Pointer to a buffer to receive a data. toReadBytes Number of bytes to be read.
- See also:
- rtxStreamRead
virtual EXTRTMETHOD int OSRTInputStream::reset | ( | ) | [virtual] |
Repositions this stream to the position at the time the mark method was last called on this input stream.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxStreamMark, rtxStreamReset
virtual int OSRTInputStream::setPosition | ( | size_t | pos | ) | [virtual] |
Sets the current stream position to the given offset.
- Parameters:
-
pos Position stream is to be reset to. This is normally obtained via a call to getPosition
, although in most cases it is a zero-based offset.
- Returns:
- Completion status of operation: 0 = success, negative return value is error.
virtual EXTRTMETHOD int OSRTInputStream::skip | ( | size_t | n | ) | [virtual] |
Skips over and discards the specified amount of data octets from this input stream.
- Parameters:
-
n The number of octets to be skipped.
- Returns:
- Completion status of operation:
- 0 = success,
- negative return value is error.
- See also:
- rtxStreamSkip
The documentation for this class was generated from the following file: