Library: Remoting/Binary
Package: Binary
Header: Poco/Remoting/Binary/Deserializer.h
The deserializer for the Binary transport.
This deserializer uses a Poco::BinaryReader for serializing data in binary form.
See also: Serializer
Direct Base Classes: Poco::Remoting::Deserializer
All Base Classes: Poco::Remoting::Deserializer
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
Deserializer(
Transport * pTransport
);
Creates the Deserializer.
~Deserializer();
Destroys the Deserializer.
static bool checkProtocolPrefix(
std::istream & in
);
Checks if transport matches, use for reply+exceptions.
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!
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!
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!
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!
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!
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!
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!
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!
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!
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!
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!
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!
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!
bool deserialize(
const std::string & name,
bool isMandatory,
std::vector < char > & val
);
Deserializes a byte vector. 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!
void deserializeComplexTypeEnd(
const std::string & name
);
Called to indicate that deserialization of a complex data type is over.
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.
void deserializeNullElement(
const std::string & name
);
Deserializes a null pointer. No value is returned because it will always be 0!
void deserializeReplyEnd(
const std::string & mi
);
Called to indicate that deserialization of a method is over.
void deserializeReplyStart(
const std::string & methodName
);
Throws an exception if the methodName doesn't match. Used for response deserialization.
void deserializeRequestEnd(
const std::string & mi
);
Called to indicate that deserialization of a method is over.
void deserializeRequestStart(
const std::string & methodName
);
Throws an exception if the methodName doesn't match. Used for response deserialization.
bool deserializeVectorBegin(
const std::string & name,
bool isMandatory,
Poco::UInt32 & sizeHint
);
Called before the first element of a vector is deserialized. Returns false if no vector is present.
void deserializeVectorEnd(
const std::string & name
);
Called after the last name of a vector was deserialized.
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.
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.
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
void pushAttribute(
const std::string & param337,
const std::string & param338,
bool
);
void resetImpl();
void setInputStreamImpl(
std::istream & inStream
);