Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Advanced Tools Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWSynchronizedDataInputStreamImp

Module:  Advanced Tools   Package:  Streams


RWSynchronizedDataInputStreamImp RWFilteredDataInputStreamImp RWDataInputStreamImp RWInputStreamImp RWStreamImp

Local Index

Members

Header File

#include <rw/stream/RWSynchronizedDataInputStreamImp.h>

Description

Class RWSynchronizedDataInputStreamImp implements a simple lock stream that is used with data input stream. The stream locks its internal synchronization mechanism before forwarding input requests to its associated source stream, and then unlocks the internal synchronization mechanism upon completion. The stream's internal synchronization mechanism is locked using a guard object, ensuring its proper release in the event that an exception is thrown.

Protected Constructor

RWSynchronizedDataInputStreamImp(RWDataInputStream&
                                 sourceStream);

Public Destructor

virtual 
~RWSynchronizedDataInputStreamImp();

Static Public Member Function

static RWDataInputStream 
make(RWDataInputStream& sourceStream);

Public Member Functions

virtual RWDataInputStream 
acquire();
virtual RWSize 
available() const;
virtual void 
close();
virtual void 
getBool(bool& value);

virtual void 
getCharacter(char& value);

virtual void 
getChar(char& value);

virtual void 
getDouble(double& value);

virtual void 
getFloat(float& value);

virtual void 
getInt(int& value);

virtual void 
getLong(long& value);

virtual void 
getLongDouble(long double& value);

virtual void 
getLongLong(long long& value);

virtual void 
getShort(short& value);

virtual void 
getSignedChar(signed char& value);

virtual void 
getUCharacter(RWUChar& value);

virtual void 
getUnsignedChar(unsigned char& value);

virtual void 
getUnsignedInt(unsigned int& value);

virtual void 
getUnsignedLong(unsigned long& value);

virtual void 
getUnsignedShort(unsigned short& value);

virtual void 
getWCharacter(wchar_t& value);

virtual void 
getWchar_t(wchar_t& value);
virtual RWSize 
getBools(bool* arrayPt, RWSize count);

virtual RWSize 
getChars(char* arrayPt, RWSize count);

virtual RWSize 
getDoubles(double* arrayPt, RWSize count);

virtual RWSize 
getFloats(float* arrayPt, RWSize count);

virtual RWSize 
getInts(int* arrayPt, RWSize count);

virtual RWSize 
getLongs(long* arrayPt, RWSize count);

virtual RWSize 
getLongDoubles(long double* arrayPt, RWSize count);

virtual RWSize 
getLongLongs(long long* arrayPt, RWSize count);

virtual RWSize 
getShorts(short* arrayPt, RWSize count);

virtual RWSize 
getSignedChars(signed char* arrayPt, RWSize count);

virtual RWSize 
getUnsignedChars(unsigned char* arrayPt, RWSize count);

virtual RWSize 
getUnsignedInts(unsigned int* arrayPt, RWSize count);

virtual RWSize 
getUnsignedLongs(unsigned long* arrayPt, RWSize count);

virtual RWSize 
getUnsignedShorts(unsigned short* arrayPt, RWSize count);

virtual RWSize 
getWchar_ts(wchar_t* arrayPt, RWSize count);
virtual RWSize 
getDelimitedString(char* string, RWSize maxCount, char delim);
virtual RWSize 
getDelimitedUString(RWUChar* ustring, RWSize maxCount, 
RWUChar delim);
virtual RWSize 
getDelimitedWString(wchar_t* wstring, RWSize maxCount, 
wchar_t delim);
virtual RWSize 
getString(char* string, RWSize count);
virtual RWSize 
getUString(RWUChar* ustring, RWSize count);
virtual RWSize 
getWString(wchar_t* wstring, RWSize count);
virtual bool 
isBad() const;
virtual bool 
isEof() const;
virtual bool 
isFail() const;
virtual bool 
isGood() const;
virtual void 
release();
virtual RWSize 
skip(RWSize numUnits);

Protected Member Functions

RWMutexLock& 
getStreamMutex() const;

RWMutexLock& 
getStreamMutex();


Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.