18 #ifndef INCLUDED_STDDESERIALIZER 19 #define INCLUDED_STDDESERIALIZER 34 virtual void ScriptVal(
const char* name, JS::MutableHandleValue
out);
36 virtual void ScriptString(
const char* name, JS::MutableHandleString out);
43 static void Trace(JSTracer *trc,
void *data);
48 virtual void Get(
const char* name,
u8* data,
size_t len);
51 jsval
ReadScriptVal(
const char* name, JS::HandleObject appendParent);
70 #endif // INCLUDED_STDDESERIALIZER virtual void ScriptString(const char *name, JS::MutableHandleString out)
Deserialize a JSString.
Definition: StdDeserializer.cpp:462
CStdDeserializer(ScriptInterface &scriptInterface, std::istream &stream)
Definition: StdDeserializer.cpp:30
void TraceMember(JSTracer *trc)
Definition: StdDeserializer.cpp:55
std::map< std::wstring, JS::Heap< JSObject * > > m_SerializablePrototypes
Definition: StdDeserializer.h:64
ScriptInterface & m_ScriptInterface
Definition: StdDeserializer.h:60
virtual void AddScriptBackref(JS::HandleObject obj)
Definition: StdDeserializer.cpp:112
void ReadStringLatin1(const char *name, std::vector< JS::Latin1Char > &str)
Definition: StdDeserializer.cpp:444
static void out(const wchar_t *fmt,...)
Definition: wdbg_sym.cpp:419
virtual void ScriptVal(const char *name, JS::MutableHandleValue out)
Deserialize a jsval, replacing 'out'.
Definition: StdDeserializer.cpp:493
jsval ReadScriptVal(const char *name, JS::HandleObject appendParent)
Definition: StdDeserializer.cpp:125
virtual std::istream & GetStream()
Returns a stream which can be used to deserialize data directly.
Definition: StdDeserializer.cpp:93
uint8_t u8
Definition: types.h:37
virtual void RequireBytesInStream(size_t numBytes)
Throws an exception if the stream definitely cannot provide the required number of bytes...
Definition: StdDeserializer.cpp:98
virtual void Get(const char *name, u8 *data, size_t len)
Definition: StdDeserializer.cpp:64
uint32_t u32
Definition: types.h:39
bool IsSerializablePrototype(const std::wstring &name)
Definition: StdDeserializer.cpp:515
virtual void GetScriptBackref(u32 tag, JS::MutableHandleObject ret)
Definition: StdDeserializer.cpp:117
JS::PersistentRooted< JSObject * > m_dummyObject
Definition: StdDeserializer.h:58
virtual void ScriptObjectAppend(const char *name, JS::HandleValue objVal)
Deserialize an object value, appending properties to object 'objVal'.
Definition: StdDeserializer.cpp:498
std::basic_string< utf16_t, utf16_traits > utf16string
Definition: utf16string.h:109
std::istream & m_Stream
Definition: StdDeserializer.h:62
std::vector< JS::Heap< JSObject * > > m_ScriptBackrefs
Definition: StdDeserializer.h:57
void ReadStringUTF16(const char *name, utf16string &str)
Definition: StdDeserializer.cpp:453
NONCOPYABLE(CStdDeserializer)
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptInterface.h:71
void GetSerializablePrototype(const std::wstring &name, JS::MutableHandleObject ret)
Definition: StdDeserializer.cpp:520
static void Trace(JSTracer *trc, void *data)
Definition: StdDeserializer.cpp:50
virtual ~CStdDeserializer()
Definition: StdDeserializer.cpp:45
Definition: StdDeserializer.h:27
virtual void SetSerializablePrototypes(std::map< std::wstring, JS::Heap< JSObject * > > &prototypes)
Definition: StdDeserializer.cpp:510
Deserialization interface; see serialization overview.
Definition: IDeserializer.h:34