18 #ifndef INCLUDED_IDESERIALIZER
19 #define INCLUDED_IDESERIALIZER
44 virtual void NumberI32(
const char* name, int32_t& out, int32_t lower, int32_t upper);
54 virtual void Bool(
const char* name,
bool& out);
59 virtual void ScriptVal(
const char* name, jsval& out) = 0;
67 virtual void ScriptString(
const char* name, JSString*& out) = 0;
69 virtual void RawBytes(
const char* name,
u8* data,
size_t len);
93 virtual void Get(
const char* name,
u8* data,
size_t len) = 0;
96 #endif // INCLUDED_IDESERIALIZER
virtual void StringASCII(const char *name, std::string &out, uint32_t minlength, uint32_t maxlength)
A simple fixed-point number class.
virtual void Bool(const char *name, bool &out)
virtual void ScriptObjectAppend(const char *name, jsval &obj)=0
Deserialize an object jsval, appending properties to object 'obj'.
virtual void NumberDouble_Unbounded(const char *name, double &out)
static void out(const wchar_t *fmt,...)
virtual void RequireBytesInStream(size_t numBytes)=0
Throws an exception if the stream definitely cannot provide the required number of bytes...
virtual void NumberU32_Unbounded(const char *name, uint32_t &out)
A trivial wrapper around a jsval.
virtual void NumberFixed_Unbounded(const char *name, fixed &out)
virtual void NumberI16(const char *name, int16_t &out, int16_t lower, int16_t upper)
virtual void NumberU8_Unbounded(const char *name, uint8_t &out)
virtual int GetVersion() const
virtual void RawBytes(const char *name, u8 *data, size_t len)
virtual void NumberI8(const char *name, int8_t &out, int8_t lower, int8_t upper)
virtual void ScriptString(const char *name, JSString *&out)=0
Deserialize a JSString.
virtual std::istream & GetStream()=0
Returns a stream which can be used to deserialize data directly.
virtual void Get(const char *name, u8 *data, size_t len)=0
virtual void NumberU8(const char *name, uint8_t &out, uint8_t lower, uint8_t upper)
virtual void ScriptVal(const char *name, jsval &out)=0
Deserialize a jsval, replacing 'out'.
virtual void NumberFloat_Unbounded(const char *name, float &out)
virtual void String(const char *name, std::wstring &out, uint32_t minlength, uint32_t maxlength)
virtual void NumberU16(const char *name, uint16_t &out, uint16_t lower, uint16_t upper)
virtual void NumberU32(const char *name, uint32_t &out, uint32_t lower, uint32_t upper)
virtual void NumberI8_Unbounded(const char *name, int8_t &out)
virtual void NumberI16_Unbounded(const char *name, int16_t &out)
virtual void NumberU16_Unbounded(const char *name, uint16_t &out)
virtual void NumberI32(const char *name, int32_t &out, int32_t lower, int32_t upper)
Deserialization interface; see serialization overview.
virtual void NumberI32_Unbounded(const char *name, int32_t &out)