Poco::Remoting::Binary

class Deserializer

Library: Remoting/Binary
Package: Binary
Header: Poco/Remoting/Binary/Deserializer.h

Description

Binary based Deserializer implementation. Note that a binary transport does not support optional parameters. Due to the proprietary nature of this transport this is no problem: the serializer will always write all params.

Inheritance

Direct Base Classes: Poco::Remoting::Deserializer

All Base Classes: Poco::Remoting::Deserializer

Member Summary

Member Functions: checkProtocolPrefix, deserialize, deserializeComplexTypeEnd, deserializeComplexTypeStart, deserializeNullElement, deserializeReplyEnd, deserializeReplyStart, deserializeRequestEnd, deserializeRequestStart, deserializeVectorBegin, deserializeVectorEnd, detectReplyName, detectRequestName, getProtocolPrefixRequest, pushAttribute, resetImpl, setInputStreamImpl

Inherited Functions: deserialize, deserializeComplexTypeEnd, deserializeComplexTypeStart, deserializeNullElement, deserializeReplyEnd, deserializeReplyStart, deserializeRequestEnd, deserializeRequestStart, deserializeVectorBegin, deserializeVectorEnd, detectReplyName, detectRequestName, getProperty, hasProperty, popProperty, pushAttribute, pushProperty, reset, resetImpl, setInputStream, setInputStreamImpl

Constructors

Deserializer

Deserializer(
    Transport * pTransport
);

Creates the Deserializer.

Destructor

~Deserializer virtual

~Deserializer();

Destroys the Deserializer.

Member Functions

checkProtocolPrefix static

static bool checkProtocolPrefix(
    std::istream & in
);

Checks if transport matches, use for reply+exceptions.

deserialize virtual

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

Deserializes an Int8. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an UInt8. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an Int16. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an UInt16. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an Int32. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an UInt32. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a long. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an unsigned long. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an Int64. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes an UInt64. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a float. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a double. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a boolean. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a single character. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserialize virtual

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

Deserializes a string. Returns true if the element was found. If no value was present for the element it will also return true but will not change val!

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

deserializeComplexTypeEnd virtual

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

Called to indicate that deserialization of a complex data type is over.

See also: Poco::Remoting::Deserializer::deserializeComplexTypeEnd()

deserializeComplexTypeStart virtual

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

Returns true if the complex type was found. If not found and isMandatory is true, an exception is thrown.

See also: Poco::Remoting::Deserializer::deserializeComplexTypeStart()

deserializeNullElement virtual

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

Deserializes a null pointer. No value is returned because it will always be 0!

See also: Poco::Remoting::Deserializer::deserializeNullElement()

deserializeReplyEnd virtual

void deserializeReplyEnd(
    const std::string & mi
);

Called to indicate that deserialization of a method is over.

See also: Poco::Remoting::Deserializer::deserializeReplyEnd()

deserializeReplyStart virtual

void deserializeReplyStart(
    const std::string & methodName
);

Throws an exception if the methodName doesn't match. Used for response deserialization.

See also: Poco::Remoting::Deserializer::deserializeReplyStart()

deserializeRequestEnd virtual

void deserializeRequestEnd(
    const std::string & mi
);

Called to indicate that deserialization of a method is over.

See also: Poco::Remoting::Deserializer::deserializeRequestEnd()

deserializeRequestStart virtual

void deserializeRequestStart(
    const std::string & methodName
);

Throws an exception if the methodName doesn't match. Used for response deserialization.

See also: Poco::Remoting::Deserializer::deserializeRequestStart()

deserializeVectorBegin virtual

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

Called before the first element of a vector is deserialized. Returns false if no vector is present.

See also: Poco::Remoting::Deserializer::deserializeVectorBegin()

deserializeVectorEnd virtual

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

Called after the last name of a vector was deserialized.

See also: Poco::Remoting::Deserializer::deserializeVectorEnd()

detectReplyName virtual

const std::string & detectReplyName();

Deserializes until the method name is found, then returns the name. Used on the proxy side to deserialize incoming requests. You still must call deserializeReplyStart when using this method.

See also: Poco::Remoting::Deserializer::detectReplyName()

detectRequestName virtual

const std::string & detectRequestName();

Deserializes until the method name is found, then returns the name. Used on the skeleton side to deserialize incoming requests. You still must call deserializeRequestStart when using this method.

See also: Poco::Remoting::Deserializer::detectRequestName()

getProtocolPrefixRequest static

static bool getProtocolPrefixRequest(
    std::istream & in,
    Poco::Remoting::Identifiable::TypeId & tid,
    Poco::Remoting::Identifiable::ObjectId & oid
);

Checks if transport matches and returns the tid and oid if it finds one

pushAttribute inline

void pushAttribute(
    const std::string & param337,
    const std::string & param338,
    bool
);

resetImpl protected virtual

void resetImpl();

See also: Poco::Remoting::Deserializer::resetImpl()

setInputStreamImpl protected virtual

void setInputStreamImpl(
    std::istream & inStream
);

See also: Poco::Remoting::Deserializer::setInputStreamImpl()