Library: Remoting/JSON
Package: JSON
Header: Poco/Remoting/JSON/Deserializer.h
The Deserializer implementation for the JSON Transport.
For more information, please see the Serializer documentation.
Direct Base Classes: Poco::Remoting::Deserializer
All Base Classes: Poco::Remoting::Deserializer
Member Functions: associateSerializer, deserialize, deserializeComplexTypeEnd, deserializeComplexTypeStart, deserializeNullElement, deserializeReplyEnd, deserializeReplyStart, deserializeRequestEnd, deserializeRequestStart, deserializeVectorBegin, deserializeVectorEnd, detectReplyName, detectRequestName, id, 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();
Creates the Deserializer.
~Deserializer();
Destroys the Deserializer.
void associateSerializer(
Serializer & ser
);
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
);
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 skeleton side to deserialize incoming requests. You still must call deserializeMethodStart 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 deserializeMethodStart when using this method.
int id() const;
void pushAttribute(
const std::string & attrNamespace,
const std::string & attrName,
bool isMandatory
);
void resetImpl();
void setInputStreamImpl(
std::istream & inStream
);