Library: UPnP/GENA
Package: GENA
Header: Poco/UPnP/GENA/Deserializer.h
The Deserializer for the UPnP GENA Transport.
This class can deserialize GENA event messages (XML property sets). A special optimization allows for reuse of the Deserializer to deserialize multiple properties where each one is treated as a separate message (as required by the RemotingNG architecture).
Direct Base Classes: Poco::RemotingNG::Deserializer
All Base Classes: Poco::RemotingNG::Deserializer, Poco::RemotingNG::SerializerBase
Member Functions: deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeOne, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, findMessage, hasMoreProperties, popProperty, resetImpl, setupImpl
Inherited Functions: clearProperties, deserialize, deserializeMessageBegin, deserializeMessageEnd, deserializeNullableBegin, deserializeNullableEnd, deserializeSequenceBegin, deserializeSequenceEnd, deserializeStructBegin, deserializeStructEnd, findMessage, getProperty, hasProperty, popProperty, pushAttribute, pushProperty, reset, resetImpl, setup, setupImpl
typedef std::pair < std::string, std::string > KeyValuePair;
typedef std::vector < KeyValuePair > KeyValueVec;
Deserializer();
Creates a Deserializer.
~Deserializer();
Destroys the Deserializer.
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int8 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt8 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int16 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt16 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::Int32 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
Poco::UInt32 & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
long & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
unsigned long & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
float & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
double & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
bool & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
char & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
std::string & value
);
bool deserialize(
const std::string & name,
bool isMandatory,
std::vector < char > & value
);
void deserializeMessageBegin(
const std::string & name,
Poco::RemotingNG::SerializerBase::MessageType type
);
void deserializeMessageEnd(
const std::string & name,
Poco::RemotingNG::SerializerBase::MessageType type
);
bool deserializeNullableBegin(
const std::string & name,
bool isMandatory,
bool & isNull
);
void deserializeNullableEnd(
const std::string & name
);
bool deserializeSequenceBegin(
const std::string & name,
bool isMandatory,
Poco::UInt32 & sizeHint
);
void deserializeSequenceEnd(
const std::string & name
);
bool deserializeStructBegin(
const std::string & name,
bool isMandatory
);
void deserializeStructEnd(
const std::string & name
);
Poco::RemotingNG::SerializerBase::MessageType findMessage(
std::string & name
);
bool hasMoreProperties() const;
Returns true if there is at least one more property to deserialize.
void popProperty();
Removes the last property from the vector.
const std::string & deserializeOne();
void resetImpl();
void setupImpl(
std::istream & istr
);