Poco::UPnP::SOAP

class Deserializer

Library: UPnP/SOAP
Package: SOAP
Header: Poco/UPnP/SOAP/Deserializer.h

Description

The Deserializer for the UPnP SOAP Transport.

This class can deserialize SOAP requests and responses, as well as XML schema based complex types.

Internally, the Deserializer builds a DOM document from the XML read from the stream. While this is not the most performant way to parse XML, it allows for handling messages that do not fully conform to their specification (such as containing additional elements, or elements arriving in wrong order). This is a frequent case in UPnP networks.

For maximum interoperability with misbehaving UPnP SOAP implementations, the Deserializer ignores the XML namespace of all elements it processes.

Inheritance

Direct Base Classes: Poco::RemotingNG::Deserializer

All Base Classes: Poco::RemotingNG::Deserializer, Poco::RemotingNG::SerializerBase

Member Summary

Member Functions: deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, findMessage, resetImpl, setupImpl

Inherited Functions: clearProperties, deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, findMessage, getProperty, hasProperty, popProperty, pushAttribute, pushProperty, reset, resetImpl, setup, setupImpl

Constructors

Deserializer

Deserializer();

Creates a Deserializer.

Destructor

~Deserializer virtual

~Deserializer();

Destroys the Deserializer.

Member Functions

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::Int8 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::UInt8 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::Int16 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::UInt16 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::Int32 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    Poco::UInt32 & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    long & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    unsigned long & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    float & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    double & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    bool & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    char & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    std::string & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserialize virtual

bool deserialize(
    const std::string & name,
    bool isMandatory,
    std::vector < char > & value
);

See also: Poco::RemotingNG::Deserializer::deserialize()

deserializeMessageBegin

void deserializeMessageBegin(
    const std::string & name,
    Poco::RemotingNG::SerializerBase::MessageType type
);

deserializeMessageEnd

void deserializeMessageEnd(
    const std::string & name,
    Poco::RemotingNG::SerializerBase::MessageType type
);

deserializeNullableBegin virtual

bool deserializeNullableBegin(
    const std::string & name,
    bool isMandatory,
    bool & isNull
);

See also: Poco::RemotingNG::Deserializer::deserializeNullableBegin()

deserializeNullableEnd virtual

void deserializeNullableEnd(
    const std::string & name
);

See also: Poco::RemotingNG::Deserializer::deserializeNullableEnd()

deserializeSequenceBegin virtual

bool deserializeSequenceBegin(
    const std::string & name,
    bool isMandatory,
    Poco::UInt32 & sizeHint
);

See also: Poco::RemotingNG::Deserializer::deserializeSequenceBegin()

deserializeSequenceEnd virtual

void deserializeSequenceEnd(
    const std::string & name
);

See also: Poco::RemotingNG::Deserializer::deserializeSequenceEnd()

deserializeStructBegin virtual

bool deserializeStructBegin(
    const std::string & name,
    bool isMandatory
);

See also: Poco::RemotingNG::Deserializer::deserializeStructBegin()

deserializeStructEnd virtual

void deserializeStructEnd(
    const std::string & name
);

See also: Poco::RemotingNG::Deserializer::deserializeStructEnd()

findMessage

Poco::RemotingNG::SerializerBase::MessageType findMessage(
    std::string & name
);

resetImpl protected virtual

void resetImpl();

See also: Poco::RemotingNG::SerializerBase::resetImpl()

setupImpl protected virtual

void setupImpl(
    std::istream & istr
);

See also: Poco::RemotingNG::Deserializer::setupImpl()