Pyrogenesis
13997
|
#include <StdDeserializer.h>
Public Member Functions | |
CStdDeserializer (ScriptInterface &scriptInterface, std::istream &stream) | |
virtual | ~CStdDeserializer () |
virtual void | ScriptVal (const char *name, jsval &out) |
Deserialize a jsval, replacing 'out'. More... | |
virtual void | ScriptVal (const char *name, CScriptVal &out) |
virtual void | ScriptVal (const char *name, CScriptValRooted &out) |
virtual void | ScriptObjectAppend (const char *name, jsval &obj) |
Deserialize an object jsval, appending properties to object 'obj'. More... | |
virtual void | ScriptString (const char *name, JSString *&out) |
Deserialize a JSString. More... | |
virtual std::istream & | GetStream () |
Returns a stream which can be used to deserialize data directly. More... | |
virtual void | RequireBytesInStream (size_t numBytes) |
Throws an exception if the stream definitely cannot provide the required number of bytes. More... | |
virtual void | SetSerializablePrototypes (std::map< std::wstring, JSObject * > &prototypes) |
![]() | |
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 | RawBytes (const char *name, u8 *data, size_t len) |
virtual int | GetVersion () const |
Protected Member Functions | |
virtual void | Get (const char *name, u8 *data, size_t len) |
Private Member Functions | |
NONCOPYABLE (CStdDeserializer) | |
jsval | ReadScriptVal (const char *name, JSObject *appendParent) |
void | ReadStringUTF16 (const char *name, utf16string &str) |
virtual void | AddScriptBackref (JSObject *obj) |
virtual JSObject * | GetScriptBackref (u32 tag) |
virtual u32 | ReserveScriptBackref () |
virtual void | SetReservedScriptBackref (u32 tag, JSObject *obj) |
void | FreeScriptBackrefs () |
bool | IsSerializablePrototype (const std::wstring &name) |
JSObject * | GetSerializablePrototype (const std::wstring &name) |
Private Attributes | |
std::map< u32, JSObject * > | m_ScriptBackrefs |
ScriptInterface & | m_ScriptInterface |
std::istream & | m_Stream |
std::map< std::wstring, JSObject * > | m_SerializablePrototypes |
Definition at line 27 of file StdDeserializer.h.
CStdDeserializer::CStdDeserializer | ( | ScriptInterface & | scriptInterface, |
std::istream & | stream | ||
) |
Definition at line 59 of file StdDeserializer.cpp.
|
virtual |
Definition at line 64 of file StdDeserializer.cpp.
|
privatevirtual |
Definition at line 111 of file StdDeserializer.cpp.
|
private |
Definition at line 139 of file StdDeserializer.cpp.
|
protectedvirtual |
Implements IDeserializer.
Definition at line 69 of file StdDeserializer.cpp.
|
privatevirtual |
Definition at line 119 of file StdDeserializer.cpp.
|
private |
Definition at line 459 of file StdDeserializer.cpp.
|
virtual |
Returns a stream which can be used to deserialize data directly.
(This is particularly useful for chaining multiple deserializers together.)
Implements IDeserializer.
Definition at line 92 of file StdDeserializer.cpp.
|
private |
Definition at line 454 of file StdDeserializer.cpp.
|
private |
|
private |
Definition at line 152 of file StdDeserializer.cpp.
|
private |
Definition at line 403 of file StdDeserializer.cpp.
|
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.)
Implements IDeserializer.
Definition at line 97 of file StdDeserializer.cpp.
|
privatevirtual |
Definition at line 127 of file StdDeserializer.cpp.
|
virtual |
Deserialize an object jsval, appending properties to object 'obj'.
Implements IDeserializer.
Definition at line 441 of file StdDeserializer.cpp.
|
virtual |
Deserialize a JSString.
Implements IDeserializer.
Definition at line 412 of file StdDeserializer.cpp.
|
virtual |
Deserialize a jsval, replacing 'out'.
Implements IDeserializer.
Definition at line 426 of file StdDeserializer.cpp.
|
virtual |
Implements IDeserializer.
Definition at line 431 of file StdDeserializer.cpp.
|
virtual |
Implements IDeserializer.
Definition at line 436 of file StdDeserializer.cpp.
|
privatevirtual |
Definition at line 133 of file StdDeserializer.cpp.
|
virtual |
Definition at line 449 of file StdDeserializer.cpp.
|
private |
Definition at line 57 of file StdDeserializer.h.
|
private |
Definition at line 58 of file StdDeserializer.h.
|
private |
Definition at line 62 of file StdDeserializer.h.
|
private |
Definition at line 60 of file StdDeserializer.h.