Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
IDeserializer Class Referenceabstract

Deserialization interface; see serialization overview. More...

#include <IDeserializer.h>

Inheritance diagram for IDeserializer:
CStdDeserializer

Public Member Functions

virtual ~IDeserializer ()
 
virtual void NumberU8 (const char *name, uint8_t &out, uint8_t lower, uint8_t upper)
 
virtual void NumberI8 (const char *name, int8_t &out, int8_t lower, int8_t upper)
 
virtual void NumberU16 (const char *name, uint16_t &out, uint16_t lower, uint16_t upper)
 
virtual void NumberI16 (const char *name, int16_t &out, int16_t lower, int16_t upper)
 
virtual void NumberU32 (const char *name, uint32_t &out, uint32_t lower, uint32_t upper)
 
virtual void NumberI32 (const char *name, int32_t &out, int32_t lower, int32_t upper)
 
virtual void NumberU8_Unbounded (const char *name, uint8_t &out)
 
virtual void NumberI8_Unbounded (const char *name, int8_t &out)
 
virtual void NumberU16_Unbounded (const char *name, uint16_t &out)
 
virtual void NumberI16_Unbounded (const char *name, int16_t &out)
 
virtual void NumberU32_Unbounded (const char *name, uint32_t &out)
 
virtual void NumberI32_Unbounded (const char *name, int32_t &out)
 
virtual void NumberFloat_Unbounded (const char *name, float &out)
 
virtual void NumberDouble_Unbounded (const char *name, double &out)
 
virtual void NumberFixed_Unbounded (const char *name, fixed &out)
 
virtual void Bool (const char *name, bool &out)
 
virtual void StringASCII (const char *name, std::string &out, uint32_t minlength, uint32_t maxlength)
 
virtual void String (const char *name, std::wstring &out, uint32_t minlength, uint32_t maxlength)
 
virtual void ScriptVal (const char *name, jsval &out)=0
 Deserialize a jsval, replacing 'out'. More...
 
virtual void ScriptVal (const char *name, CScriptVal &out)=0
 
virtual void ScriptVal (const char *name, CScriptValRooted &out)=0
 
virtual void ScriptObjectAppend (const char *name, jsval &obj)=0
 Deserialize an object jsval, appending properties to object 'obj'. More...
 
virtual void ScriptString (const char *name, JSString *&out)=0
 Deserialize a JSString. More...
 
virtual void RawBytes (const char *name, u8 *data, size_t len)
 
virtual int GetVersion () const
 
virtual std::istream & GetStream ()=0
 Returns a stream which can be used to deserialize data directly. More...
 
virtual void RequireBytesInStream (size_t numBytes)=0
 Throws an exception if the stream definitely cannot provide the required number of bytes. More...
 

Protected Member Functions

virtual void Get (const char *name, u8 *data, size_t len)=0
 

Detailed Description

Deserialization interface; see serialization overview.

Definition at line 34 of file IDeserializer.h.

Constructor & Destructor Documentation

IDeserializer::~IDeserializer ( )
virtual

Definition at line 26 of file IDeserializer.cpp.

Member Function Documentation

void IDeserializer::Bool ( const char *  name,
bool &  out 
)
virtual

Definition at line 155 of file IDeserializer.cpp.

virtual void IDeserializer::Get ( const char *  name,
u8 data,
size_t  len 
)
protectedpure virtual

Implemented in CStdDeserializer.

virtual std::istream& IDeserializer::GetStream ( )
pure virtual

Returns a stream which can be used to deserialize data directly.

(This is particularly useful for chaining multiple deserializers together.)

Implemented in CStdDeserializer.

int IDeserializer::GetVersion ( ) const
virtual

Definition at line 200 of file IDeserializer.cpp.

void IDeserializer::NumberDouble_Unbounded ( const char *  name,
double &  out 
)
virtual

Definition at line 143 of file IDeserializer.cpp.

void IDeserializer::NumberFixed_Unbounded ( const char *  name,
fixed out 
)
virtual

Definition at line 148 of file IDeserializer.cpp.

void IDeserializer::NumberFloat_Unbounded ( const char *  name,
float &  out 
)
virtual

Definition at line 138 of file IDeserializer.cpp.

void IDeserializer::NumberI16 ( const char *  name,
int16_t out,
int16_t  lower,
int16_t  upper 
)
virtual

Definition at line 64 of file IDeserializer.cpp.

void IDeserializer::NumberI16_Unbounded ( const char *  name,
int16_t out 
)
virtual

Definition at line 117 of file IDeserializer.cpp.

void IDeserializer::NumberI32 ( const char *  name,
int32_t &  out,
int32_t  lower,
int32_t  upper 
)
virtual

Definition at line 88 of file IDeserializer.cpp.

void IDeserializer::NumberI32_Unbounded ( const char *  name,
int32_t &  out 
)
virtual

Definition at line 131 of file IDeserializer.cpp.

void IDeserializer::NumberI8 ( const char *  name,
int8_t out,
int8_t  lower,
int8_t  upper 
)
virtual

Definition at line 41 of file IDeserializer.cpp.

void IDeserializer::NumberI8_Unbounded ( const char *  name,
int8_t out 
)
virtual

Definition at line 105 of file IDeserializer.cpp.

void IDeserializer::NumberU16 ( const char *  name,
uint16_t out,
uint16_t  lower,
uint16_t  upper 
)
virtual

Definition at line 52 of file IDeserializer.cpp.

void IDeserializer::NumberU16_Unbounded ( const char *  name,
uint16_t out 
)
virtual

Definition at line 110 of file IDeserializer.cpp.

void IDeserializer::NumberU32 ( const char *  name,
uint32_t out,
uint32_t  lower,
uint32_t  upper 
)
virtual

Definition at line 76 of file IDeserializer.cpp.

void IDeserializer::NumberU32_Unbounded ( const char *  name,
uint32_t out 
)
virtual

Definition at line 124 of file IDeserializer.cpp.

void IDeserializer::NumberU8 ( const char *  name,
uint8_t out,
uint8_t  lower,
uint8_t  upper 
)
virtual

Definition at line 30 of file IDeserializer.cpp.

void IDeserializer::NumberU8_Unbounded ( const char *  name,
uint8_t out 
)
virtual

Definition at line 100 of file IDeserializer.cpp.

void IDeserializer::RawBytes ( const char *  name,
u8 data,
size_t  len 
)
virtual

Definition at line 195 of file IDeserializer.cpp.

virtual void IDeserializer::RequireBytesInStream ( size_t  numBytes)
pure virtual

Throws an exception if the stream definitely cannot provide the required number of bytes.

(It might be conservative and not throw an exception in some cases where the stream actually can't provide the required bytes.) (This should be used when allocating memory based on data in the stream, e.g. reading strings, to avoid dangerously large allocations when the data is invalid.)

Implemented in CStdDeserializer.

virtual void IDeserializer::ScriptObjectAppend ( const char *  name,
jsval &  obj 
)
pure virtual

Deserialize an object jsval, appending properties to object 'obj'.

Implemented in CStdDeserializer.

virtual void IDeserializer::ScriptString ( const char *  name,
JSString *&  out 
)
pure virtual

Deserialize a JSString.

Implemented in CStdDeserializer.

virtual void IDeserializer::ScriptVal ( const char *  name,
jsval &  out 
)
pure virtual

Deserialize a jsval, replacing 'out'.

Implemented in CStdDeserializer.

virtual void IDeserializer::ScriptVal ( const char *  name,
CScriptVal out 
)
pure virtual

Implemented in CStdDeserializer.

virtual void IDeserializer::ScriptVal ( const char *  name,
CScriptValRooted out 
)
pure virtual

Implemented in CStdDeserializer.

void IDeserializer::String ( const char *  name,
std::wstring &  out,
uint32_t  minlength,
uint32_t  maxlength 
)
virtual

Definition at line 176 of file IDeserializer.cpp.

void IDeserializer::StringASCII ( const char *  name,
std::string &  out,
uint32_t  minlength,
uint32_t  maxlength 
)
virtual

Definition at line 162 of file IDeserializer.cpp.


The documentation for this class was generated from the following files: