Poco::UPnP::SOAP

class Deserializer

File Information

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, deserializeOptionalBegin, deserializeOptionalEnd, 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
);

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

deserialize virtual

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

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
);

deserializeNullableEnd virtual

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

deserializeSequenceBegin virtual

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

deserializeSequenceEnd virtual

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

deserializeStructBegin virtual

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

deserializeStructEnd virtual

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

findMessage

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

resetImpl protected virtual

void resetImpl();

setupImpl protected virtual

void setupImpl(
    std::istream & istr
);

Securely control IoT edge devices from anywhere   Connect a Device