Sirikata
Static Public Member Functions | Static Private Member Functions
Sirikata::JS::JSSerializer Class Reference

#include <JSSerializer.hpp>

List of all members.

Static Public Member Functions

static std::string serializeObject (v8::Local< v8::Value > v8Val, int32 toStamp=0)
static std::string serializeMessage (v8::Local< v8::Value > v8Val, int32 toStamp=0)
static v8::Handle< v8::Value > deserializeMessage (EmersonScript *emerScript, Sirikata::JS::Protocol::JSFieldValue jsfieldval, bool &deserializeSuccessful)
static v8::Handle< v8::Object > deserializeObject (EmersonScript *emerScript, Sirikata::JS::Protocol::JSMessage jsmessage, bool &deserializeSuccessful)
 Used for deprecated messages that consist of only an object.

Static Private Member Functions

static void pointOtherObject (int32 int32ToPointTo, Sirikata::JS::Protocol::IJSFieldValue &jsf_value)
static void annotateObject (ObjectVec &objVec, v8::Handle< v8::Object > v8Obj, int32 toStampWith)
static void unmarkSerialized (ObjectVec &toUnmark)
static void unmarkDeserialized (ObjectMap &objMap)
static void setPrototype (v8::Handle< v8::Object > toSetProtoOf, v8::Handle< v8::Object > toSetTo)
static void serializeVisible (v8::Local< v8::Object > v8Obj, Sirikata::JS::Protocol::IJSMessage &, int32 &toStampWith, ObjectVec &allObjs)
static void fillVisible (Sirikata::JS::Protocol::IJSMessage &, const SpaceObjectReference &listenTo)
static void serializePresence (v8::Local< v8::Object > v8Obj, Sirikata::JS::Protocol::IJSMessage &, int32 &toStampWith, ObjectVec &allObjs)
static void serializeSystem (v8::Local< v8::Object > v8Obj, Sirikata::JS::Protocol::IJSMessage &, int32 &toStampWith, ObjectVec &allObjs)
static void serializeObjectInternal (v8::Local< v8::Value > v8Val, Sirikata::JS::Protocol::IJSMessage &, int32 &toStampWith, ObjectVec &allObjs)
static void serializeInternalFields (v8::Local< v8::Object > v8Obj, Sirikata::JS::Protocol::JSMessage &, ObjectVec &allObjs)
static void serializeAddressable (v8::Local< v8::Object > v8Obj, Sirikata::JS::Protocol::JSMessage &, ObjectVec &allObjs)
static void shallowCopyFields (v8::Handle< v8::Object > dst, v8::Handle< v8::Object > src)
static bool deserializePerformFixups (ObjectMap &labeledObjs, FixupMap &toFixUp)
 This function runs through the map of values toFixUp, pointing them to the an object in labeledObjs instead.
static void serializeFieldValueInternal (Sirikata::JS::Protocol::IJSFieldValue &jsf_value, v8::Handle< v8::Value > prop_val, int32 &toStampWith, ObjectVec &objVec)
static bool deserializeObjectInternal (EmersonScript *jsObjScript, Sirikata::JS::Protocol::JSMessage jsmessage, v8::Handle< v8::Object > &deserializeTo, ObjectMap &labeledObjs, FixupMap &toFixUp)
static v8::Handle< v8::Value > deserializeFieldValue (EmersonScript *emerScript, Sirikata::JS::Protocol::JSFieldValue jsvalue, ObjectMap &labeledObjs, FixupMap &toFixUp, int32 &toLoopTo)

Member Function Documentation

void Sirikata::JS::JSSerializer::annotateObject ( ObjectVec objVec,
v8::Handle< v8::Object >  v8Obj,
int32  toStampWith 
) [static, private]

Referenced by serializeObjectInternal().

v8::Handle< v8::Value > Sirikata::JS::JSSerializer::deserializeFieldValue ( EmersonScript emerScript,
Sirikata::JS::Protocol::JSFieldValue  jsvalue,
ObjectMap labeledObjs,
FixupMap toFixUp,
int32 &  toLoopTo 
) [static, private]
v8::Handle< v8::Value > Sirikata::JS::JSSerializer::deserializeMessage ( EmersonScript emerScript,
Sirikata::JS::Protocol::JSFieldValue  jsfieldval,
bool &  deserializeSuccessful 
) [static]
v8::Handle< v8::Object > Sirikata::JS::JSSerializer::deserializeObject ( EmersonScript emerScript,
Sirikata::JS::Protocol::JSMessage  jsmessage,
bool &  deserializeSuccessful 
) [static]
bool Sirikata::JS::JSSerializer::deserializeObjectInternal ( EmersonScript jsObjScript,
Sirikata::JS::Protocol::JSMessage  jsmessage,
v8::Handle< v8::Object > &  deserializeTo,
ObjectMap labeledObjs,
FixupMap toFixUp 
) [static, private]
bool Sirikata::JS::JSSerializer::deserializePerformFixups ( ObjectMap labeledObjs,
FixupMap toFixUp 
) [static, private]

This function runs through the map of values toFixUp, pointing them to the an object in labeledObjs instead.

If a key for the toFixUp map does not exist as a key in labeledObjs, returns false.

Should be run at the very end of deserializeObjectInternal

References Sirikata::Logging::error, JSLOG, Sirikata::JS::LoopedObjPointer::name, Sirikata::JS::LoopedObjPointer::parent, and setPrototype().

Referenced by deserializeMessage(), and deserializeObject().

void Sirikata::JS::JSSerializer::fillVisible ( Sirikata::JS::Protocol::IJSMessage &  jsmessage,
const SpaceObjectReference listenTo 
) [static, private]
void Sirikata::JS::JSSerializer::pointOtherObject ( int32  int32ToPointTo,
Sirikata::JS::Protocol::IJSFieldValue &  jsf_value 
) [static, private]
static void Sirikata::JS::JSSerializer::serializeAddressable ( v8::Local< v8::Object >  v8Obj,
Sirikata::JS::Protocol::JSMessage &  ,
ObjectVec allObjs 
) [static, private]
void Sirikata::JS::JSSerializer::serializeFieldValueInternal ( Sirikata::JS::Protocol::IJSFieldValue &  jsf_value,
v8::Handle< v8::Value >  prop_val,
int32 &  toStampWith,
ObjectVec objVec 
) [static, private]
static void Sirikata::JS::JSSerializer::serializeInternalFields ( v8::Local< v8::Object >  v8Obj,
Sirikata::JS::Protocol::JSMessage &  ,
ObjectVec allObjs 
) [static, private]
std::string Sirikata::JS::JSSerializer::serializeMessage ( v8::Local< v8::Value >  v8Val,
int32  toStamp = 0 
) [static]
std::string Sirikata::JS::JSSerializer::serializeObject ( v8::Local< v8::Value >  v8Val,
int32  toStamp = 0 
) [static]
void Sirikata::JS::JSSerializer::serializeObjectInternal ( v8::Local< v8::Value >  v8Val,
Sirikata::JS::Protocol::IJSMessage &  jsmessage,
int32 &  toStampWith,
ObjectVec allObjs 
) [static, private]
void Sirikata::JS::JSSerializer::serializePresence ( v8::Local< v8::Object >  v8Obj,
Sirikata::JS::Protocol::IJSMessage &  jsmessage,
int32 &  toStampWith,
ObjectVec allObjs 
) [static, private]
void Sirikata::JS::JSSerializer::serializeSystem ( v8::Local< v8::Object >  v8Obj,
Sirikata::JS::Protocol::IJSMessage &  jsmessage,
int32 &  toStampWith,
ObjectVec allObjs 
) [static, private]
void Sirikata::JS::JSSerializer::serializeVisible ( v8::Local< v8::Object >  v8Obj,
Sirikata::JS::Protocol::IJSMessage &  jsmessage,
int32 &  toStampWith,
ObjectVec allObjs 
) [static, private]
void Sirikata::JS::JSSerializer::setPrototype ( v8::Handle< v8::Object >  toSetProtoOf,
v8::Handle< v8::Object >  toSetTo 
) [static, private]
void Sirikata::JS::JSSerializer::shallowCopyFields ( v8::Handle< v8::Object >  dst,
v8::Handle< v8::Object >  src 
) [static, private]
void Sirikata::JS::JSSerializer::unmarkDeserialized ( ObjectMap objMap) [static, private]
void Sirikata::JS::JSSerializer::unmarkSerialized ( ObjectVec toUnmark) [static, private]

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