Reads objects encoded in XML from the supplied RWDataInputStream. More...
#include <rw/xmlstreams/RWEnhancedXmlObjectInputStreamImp.h>
Public Member Functions | |
virtual void | endAssoc () |
virtual void | endBlock () |
virtual void | endElement () |
virtual void | endMap () |
virtual void | endMember () |
virtual void | endSequence () |
virtual void | getBool (bool &value) |
virtual void | getChar (char &value) |
virtual void | getCharacter (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 * | getNewObject (const std::type_info *base) |
virtual void | getShort (short &value) |
virtual void | getSignedChar (signed char &value) |
virtual void | getSizeT (size_t &value) |
virtual void | getString (RWCString &str) |
void | getSymbol (RWSymbol &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 | getUnsignedLongLong (unsigned long long &value) |
virtual void | getUnsignedShort (unsigned short &value) |
virtual void | getUString (RWBasicUString &str) |
virtual void | getWchar_t (wchar_t &value) |
virtual void | getWCharacter (wchar_t &value) |
virtual void | getWString (RWWString &str) |
virtual RWSymbol | readTypeInfo () |
virtual void | rememberObject (const void *obj) |
virtual void | startAssocKey () |
virtual void | startAssocValue () |
virtual RWSymbol | startBlock () |
virtual void | startElement (int &position) |
virtual RWSymbol | startMap (int &count, RWStreamType &keyType, RWStreamType &valueType) |
virtual bool | startMember (RWSymbol &memberName, RWStreamType &memberType) |
virtual RWSymbol | startSequence (int &count, RWStreamType &elementType) |
Public Member Functions inherited from RWObjectInputStreamImp | |
virtual void | closeContext (bool readContext=true) |
virtual void | endParent () |
virtual void | openContext (bool readContext=true) |
virtual void | peekChar (char &value) |
virtual void | peekCharacter (char &value) |
virtual void | startParent (const RWSymbol &) |
Public Member Functions inherited from RWFilteredDataInputStreamImp | |
virtual | ~RWFilteredDataInputStreamImp () |
virtual RWSize | available () const |
virtual void | close () |
virtual RWSize | getBools (bool *arrayPt, RWSize count) |
virtual RWSize | getChars (char *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 | getDoubles (double *arrayPt, RWSize count) |
virtual RWSize | getFloats (float *arrayPt, RWSize count) |
virtual RWSize | getInts (int *arrayPt, RWSize count) |
virtual RWSize | getLongDoubles (long double *arrayPt, RWSize count) |
virtual RWSize | getLongLongs (long long *arrayPt, RWSize count) |
virtual RWSize | getLongs (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 | getUnsignedLongLongs (unsigned long long *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 bool | isBad () const |
virtual bool | isEof () const |
virtual bool | isFail () const |
virtual bool | isGood () const |
virtual RWSize | skip (RWSize numUnits) |
Public Member Functions inherited from RWDataInputStreamImp | |
virtual | ~RWDataInputStreamImp () |
Public Member Functions inherited from RWInputStreamImp | |
virtual | ~RWInputStreamImp () |
Public Member Functions inherited from RWStreamImp | |
virtual | ~RWStreamImp () |
Static Public Member Functions | |
static RWObjectInputStream | make (std::istream &source, bool escape=true) |
static RWObjectInputStream | make (std::istream &source, std::ios *&formatter, bool escape=true) |
static RWObjectInputStream | make (RWDataInputStream &source, bool escape=true) |
Static Public Member Functions inherited from RWXmlObjectStreamCommon | |
static const char * | rwStreamToLocalStringType (RWStreamType stype) |
static const char * | rwStreamToStringType (RWStreamType stype) |
Protected Member Functions | |
RWEnhancedXmlObjectInputStreamImp (std::istream &sourceStream, bool escape) | |
RWEnhancedXmlObjectInputStreamImp (std::istream &sourceStream, std::ios *&formatter, bool escape) | |
RWEnhancedXmlObjectInputStreamImp (const RWDataInputStream &sourceStream, bool escape) | |
~RWEnhancedXmlObjectInputStreamImp () | |
virtual void | closeOuterContext (bool readContext) |
virtual RWSize | getString (char *string, RWSize count) |
virtual RWSize | getUString (RWUChar *ustring, RWSize count) |
virtual RWSize | getWString (wchar_t *wstring, RWSize count) |
virtual void | openOuterContext (bool readContext) |
Protected Member Functions inherited from RWObjectInputStreamImp | |
RWObjectInputStreamImp (const RWDataInputStream &sourceStream) | |
Protected Member Functions inherited from RWFilteredDataInputStreamImp | |
RWFilteredDataInputStreamImp (const RWDataInputStream &sourceStream) | |
RWDataInputStream & | getSourceStream () |
const RWDataInputStream & | getSourceStream () const |
Protected Member Functions inherited from RWDataInputStreamImp | |
RWDataInputStreamImp () | |
Protected Member Functions inherited from RWInputStreamImp | |
RWInputStreamImp () | |
Protected Member Functions inherited from RWStreamImp | |
RWStreamImp () | |
Protected Member Functions inherited from RWBodyBase | |
RWBodyBase (void) | |
RWBodyBase (RWStaticCtor) | |
RWBodyBase (const RWBodyBase &second) | |
virtual | ~RWBodyBase (void) |
RWBodyBase & | operator= (const RWBodyBase &second) |
Protected Member Functions inherited from RWTCountingBody< RWMutexLock > | |
RWTCountingBody (unsigned initCount=0) | |
RWTCountingBody (RWStaticCtor) | |
RWTCountingBody (const RWTCountingBody< RWMutexLock > &second) | |
RWTCountingBody< RWMutexLock > & | operator= (const RWTCountingBody< RWMutexLock > &second) |
~RWTCountingBody (void) | |
unsigned | addReference (void) |
unsigned | references (void) const |
unsigned | removeReference (void) |
Protected Member Functions inherited from RWTMonitor< RWMutexLock > | |
RWTMonitor () | |
RWTMonitor (RWStaticCtor) | |
RWTMonitor (const RWTMonitor< RWMutexLock > &second) | |
~RWTMonitor () | |
void | acquire () |
bool | isAcquired () const |
RWTMonitor< RWMutexLock > & | monitor () const |
RWMutexLock & | mutex () |
RWTMonitor< RWMutexLock > & | operator= (const RWTMonitor< RWMutexLock > &) |
void | release () |
bool | tryAcquire () |
Additional Inherited Members | |
Static Public Attributes inherited from RWXmlObjectStreamCommon | |
static const char * | associationTag |
static const char * | assocKeyTag |
static const char * | assocValueTag |
static const char * | elementPosAttr |
static const char * | IdAttr |
static const char * | IdRefAttr |
static const char * | mapCountAttr |
static const char * | mapKeyTypeAttr |
static const char * | mapTag |
static const char * | mapValueTypeAttr |
static const char * | memberNameAttr |
static const char * | memberTag |
static const char * | memberTypeAttr |
static const char * | nestedObjectTag |
static const char * | objectNameAttr |
static const char * | objectRefTag |
static const char * | objectRefTagLocal |
static const char * | objectTag |
static const char * | objectTypeAttr |
static const char * | primitiveTag |
static const char * | rwEncodingNamespaceValue |
static const char * | rwNamespace |
static const char * | rwNamespaceAttr |
static const char * | rwNamespaceValue |
static const char * | seqCountAttr |
static const char * | seqTypeAttr |
static const char * | sequenceElementTag |
static const char * | sequenceTag |
static const char * | xsdNamespace |
static const char * | xsdNamespaceAttr |
static const char * | xsdNamespaceValue |
static const char * | xsiNamespace |
static const char * | xsiNamespaceAttr |
static const char * | xsiNamespaceValue |
Protected Types inherited from RWTCountingBody< RWMutexLock > | |
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > | LockGuard |
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > | TryLockGuard |
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > | UnlockGuard |
Protected Types inherited from RWTMonitor< RWMutexLock > | |
typedef RWTLockGuard< RWTMonitor< RWMutexLock > > | LockGuard |
typedef RWTTryLockGuard< RWTMonitor< RWMutexLock > > | TryLockGuard |
typedef RWTUnlockGuard< RWTMonitor< RWMutexLock > > | UnlockGuard |
The class RWEnhancedXmlObjectInputStreamImp reads objects encoded in XML from the supplied RWDataInputStream.
Implements the body idiom from the handle/body pattern.
|
inlineprotected |
Used by derived classes to initialize the previous processing stream. Throws no exceptions.
The parameter sourceStream is a handle to the previous processing stream.
|
inlineprotected |
Used by derived classes to initialize the previous processing stream. Throws no exceptions.
The parameter sourceStream is a handle to the previous processing stream
The parameter formatter will be returned with a reference to the formatting object
|
inlineprotected |
Used by derived classes to initialize the previous processing stream. Throws no exceptions.
The parameter sourceStream is a handle to the previous processing stream.
|
inlineprotected |
Destructor. Make sure the storeTable
is deleted even if an exception is thrown.
|
protectedvirtual |
Really closes an open context, called when closeContext() calls match the number of openContext() calls.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types after each value.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Inputs tokens that identify the end of an object.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for collection types after each element in a sequence.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types after all the pairs.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Called by streamContents() after each data member is read.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Called by the input operators for collection types at the end of a sequence.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads the dynamic type information (derived class) from the input stream, and factories an instance of this type.
base | Represents the static type (base class) of the field being read. |
Implements RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of narrow characters from the attached source stream. The function returns the number of narrow characters read.
string | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count narrow characters. |
count | The number of narrow character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads an RWSymbol value from the stream.
value | The RWSymbol value to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of UTF-16 characters from the attached source stream. The function returns the number of UTF-16 characters read.
ustring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count unicode characters. |
count | The number of unicode character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Reimplemented from RWFilteredDataInputStreamImp.
|
virtual |
Reads a value from the stream, where the type of the value is defined by the first parameter.
Implements RWObjectInputStreamImp.
|
inlineprotectedvirtual |
Forward the reading of a string of wide characters from the attached source stream. The function returns the number of wide characters read.
wstring | A pointer to the first element of the string. The string must have been pre-allocated to contain at least count wide characters. |
count | The number of wide character(s) to be read from the stream. |
Reimplemented from RWObjectInputStreamImp.
|
static |
Used by derived classes to initialize the previous processing stream. Constructs an RWEnhancedXmlObjectInputStreamImp instance that uses the data stream source as its source of bytes, and returns a handle to it. Throws no exceptions.
Use this method when the data input stream is a standard library std::istream
.
The parameter source is the istream that is used as the source of bytes.
The parameter escape sets whether the input stream contains escapes for XML reserved characters that need to be unescaped. Escape is set to true
if the objects serialized out with RWXmlObjectOutputStreamImp contained embedded XML. Defaults to true
.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
|
static |
Used by derived classes to initialize the previous processing stream. Constructs an RWEnhancedXmlObjectInputStreamImp instance that uses the data stream source as its source of bytes, and returns a handle to it. Throws no exceptions.
Use this method when the data input stream is a standard library std::istream
.
The parameter source is the istream that is used as the source of bytes.
The parameter escape sets whether the input stream contains escapes for XML reserved characters that need to be unescaped. Escape is set to true
if the objects serialized out with RWXmlObjectOutputStreamImp contained embedded XML. Defaults to true
.
The reserved characters are:
You get slightly better performance if the escape parameter is set to false
, but before doing so be certain that your data does not contain reserved characters.
This function also takes a pointer reference to an std::ios
formatting object. An empty formatting object pointer is created before the XML stream is created and is passed through this make() function to the constructor:
The constructor, in creating the underlying character stream for the XML stream, creates a formatting object for the stream and places the address of that object in the pointer reference. The calling application can then use this formatting object to manipulate data formats in the XML stream.
The parameter source is the istream that is used as the source of bytes.
The parameter formatter will be returned with a reference to the formatting object.
|
static |
Constructs an RWEnhancedXmlObjectInputStreamImp instance that uses source as its source of bytes, and returns a handle to it. Throws no exceptions.
The parameter source is the data stream that is used as the source of bytes.
|
protectedvirtual |
Really opens a new context, called by openContext() when a context is not already open.
Implements RWObjectInputStreamImp.
|
virtual |
Reads the type information for an class instance from the stream and returns it as a symbol.
Implements RWObjectInputStreamImp.
|
virtual |
Called by streaming operators to record each instance streamed in, in case it is referenced again in the same context.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types before each key.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types after each key and before each value.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Inputs tokens that identify the start of a new object. Returns an RWSymbol representing the new object. Depending on the implementation class associated with this handle, the RWSymbol may be empty.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for collection types before each element in a sequence.
Reimplemented from RWObjectInputStreamImp.
|
virtual |
Called by the input operators for association types (hash tables, etc.) at the start of a sequence. Returns an RWSymbol representing the collection.
count | Contains the number of items in the association. |
keyType | Contains the type of key in the association. |
valueType | Contains the type of value in the association. |
Implements RWObjectInputStreamImp.
|
virtual |
Called for before each data member by the streamContents() function, metadata about the field may or may not be read from the stream depending on the implementation. If data is read (returning true
), then parameter memberName will contain the name of the member. Otherwise returns false
.
Implements RWObjectInputStreamImp.
|
virtual |
Called by the input operators for collection types at the start of a sequence. Returns an RWSymbol representing the collection.
count | Contains the number of items in the collection. |
elementType | Contains the type of element in the collection. |
Implements RWObjectInputStreamImp.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |