Sirikata
|
#include <JSContextStruct.hpp>
Public Member Functions | |
JSContextStruct (JSObjectScript *parent, JSPresenceStruct *whichPresence, SpaceObjectReference home, Capabilities::CapNum capNum, v8::Handle< v8::ObjectTemplate > contGlobTempl, uint32 contextID, JSContextStruct *parentContext, JSCtx *jsctx) | |
~JSContextStruct () | |
uint32 | getContextID () |
virtual v8::Handle< v8::Value > | suspend () |
virtual v8::Handle< v8::Value > | resume () |
virtual v8::Handle< v8::Value > | clear () |
void | finishClear () |
v8::Handle< v8::Value > | struct_suspendContext () |
v8::Handle< v8::Value > | struct_resumeContext () |
v8::Handle< v8::Value > | checkHeadless () |
v8::Handle< v8::Object > | struct_getSystem () |
v8::Handle< v8::Value > | struct_create_vis (const SpaceObjectReference &sporefWathcing, JSVisibleDataPtr addParams) |
v8::Handle< v8::Value > | killEntity () |
void | proximateEvent (const SpaceObjectReference &goneFrom, JSVisibleStruct *jsvis, bool isGone) |
v8::Handle< v8::Value > | pushEvalContextScopeDirectory (const String &newDir) |
v8::Handle< v8::Value > | popEvalContextScopeDirectory () |
v8::Handle< v8::Value > | storageBeginTransaction () |
v8::Handle< v8::Value > | storageCommit (v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageWrite (const OH::Storage::Key &key, const String &toWrite, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageRead (const OH::Storage::Key &key, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageErase (const OH::Storage::Key &key, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageRangeRead (const OH::Storage::Key &start, const OH::Storage::Key &finish, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageRangeErase (const OH::Storage::Key &start, const OH::Storage::Key &finish, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | storageCount (const OH::Storage::Key &start, const OH::Storage::Key &finish, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | sendSandbox (const String &msgToSend, JSContextStruct *destination) |
v8::Handle< v8::Value > | setRestoreScript (const String &key, v8::Handle< v8::Function > cb) |
v8::Handle< v8::Value > | struct_evalInGlobal (const String &native_contents, ScriptOrigin *sOrigin) |
v8::Handle< v8::Value > | struct_createEntity (EntityCreateInfo &eci) |
v8::Handle< v8::Value > | struct_setReset (const std::map< SpaceObjectReference, std::vector< SpaceObjectReference > > &proxResSet) |
v8::Handle< v8::Value > | struct_setScript (const String &script) |
v8::Handle< v8::Value > | struct_getScript () |
v8::Handle< v8::Value > | debug_fileWrite (String &strToWrite, String &filename) |
v8::Handle< v8::Value > | debug_fileRead (String &filename) |
v8::Handle< v8::Value > | deserialize (const String &toDeserialize) |
v8::Handle< v8::Value > | struct_rootReset () |
This function is called only by JSObjectScript directly. | |
v8::Handle< v8::Value > | restorePresence (PresStructRestoreParams &psrp) |
void | struct_registerSuspendable (JSSuspendable *toRegister) |
void | struct_deregisterSuspendable (JSSuspendable *toDeregister) |
void | struct_asyncDeregisterSuspendable (JSSuspendable *toDeregister, Liveness::Token contAlive, Liveness::Token suspAlive) |
v8::Handle< v8::Value > | struct_createVec3 (Vector3d &toCreate) |
v8::Handle< v8::Value > | struct_createQuaternion (Quaternion &toCreate) |
bool | canReceiveMessagesFor (const SpaceObjectReference &receiver) |
void | jsscript_print (const String &msg) |
void | presenceDied () |
v8::Handle< v8::Value > | struct_executeScript (v8::Handle< v8::Function > funcToCall, const v8::Arguments &args) |
v8::Handle< v8::Value > | struct_getAssociatedPresPosition () |
v8::Handle< v8::Value > | struct_sendHome (const String &toSend) |
v8::Handle< v8::Value > | struct_import (const String &toImportFrom, bool isJS) |
v8::Handle< v8::Value > | struct_require (const String &toRequireFrom, bool isJS) |
void | receiveSandboxMessage (v8::Local< v8::Object > msgObj, JSContextStruct *sender) |
msgObj is the JS object message that is being delivered from sender to me. | |
v8::Handle< v8::Value > | struct_createContext (JSPresenceStruct *jspres, const SpaceObjectReference &canSendTo, Capabilities::CapNum capNum) |
v8::Handle< v8::Value > | struct_event (v8::Persistent< v8::Function > &cb) |
v8::Handle< v8::Value > | struct_createTimeout (double period, v8::Persistent< v8::Function > &cb) |
v8::Handle< v8::Value > | struct_createTimeout (double period, v8::Persistent< v8::Function > &cb, uint32 contID, double timeRemaining, bool isSuspended, bool isCleared) |
v8::Handle< v8::Value > | sendMessageNoErrorHandler (JSPresenceStruct *jspres, const String &serialized_message, JSPositionListener *jspl, bool reliable) |
v8::Handle< v8::Value > | struct_registerOnPresenceDisconnectedHandler (v8::Persistent< v8::Function > cb_persist) |
v8::Handle< v8::Value > | struct_registerOnPresenceConnectedHandler (v8::Persistent< v8::Function > cb_persist) |
void | checkContextConnectCallback (JSPresenceStruct *jspres) |
void | checkContextDisconnectCallback (JSPresenceStruct *jspres) |
String | getScript () |
v8::Handle< v8::Value > | proxAddedHandlerCallallback (v8::Handle< v8::Function >cb) |
v8::Handle< v8::Value > | proxRemovedHandlerCallallback (v8::Handle< v8::Function >cb) |
v8::Handle< v8::Value > | getAssociatedPresence () |
JSPresenceStruct * | getAssociatedPresenceStruct () |
void | httpFail (v8::Persistent< v8::Function > cb, const String &failureReason) |
The http request that was associated with this request failed. | |
void | httpSuccess (v8::Persistent< v8::Function > cb, EmersonHttpManager::HttpRespPtr httpResp) |
The http request that was associated with cb passed, and its associated data are in httpResp. | |
v8::Handle< v8::Value > | httpRequest (Sirikata::Network::Address addr, Transfer::HttpManager::HTTP_METHOD method, String request, v8::Persistent< v8::Function > cb) |
v8::Handle< v8::Value > | setSandboxMessageCallback (v8::Persistent< v8::Function > callback) |
v8::Handle< v8::Value > | setPresenceMessageCallback (v8::Persistent< v8::Function > callback) |
v8::Handle< v8::Value > | emersonCompileString (const String &toCompile) |
Capabilities::CapNum | getCapNum () |
Static Public Member Functions | |
static JSContextStruct * | decodeContextStruct (v8::Handle< v8::Value > toDecode, String &errorMsg) |
Public Attributes | |
JSObjectScript * | jsObjScript |
v8::Persistent< v8::Context > | mContext |
JSCtx * | mCtx |
v8::Persistent< v8::Function > | proxAddedFunc |
v8::Persistent< v8::Function > | proxRemovedFunc |
JSContextStruct * | mParentContext |
v8::Persistent< v8::Function > | sandboxMessageCallback |
v8::Persistent< v8::Function > | presenceMessageCallback |
Private Member Functions | |
bool | hasPresence (const SpaceObjectReference &sporef) |
void | createContextObjects (String *scriptToEval=NULL) |
void | flushQueuedSuspendablesToChange () |
Function runs through suspendablesToDelete and deregisters them. | |
Private Attributes | |
uint32 | mContextID |
bool | hasOnConnectedCallback |
v8::Persistent< v8::Function > | cbOnConnected |
bool | hasOnDisconnectedCallback |
v8::Persistent< v8::Function > | cbOnDisconnected |
String | mScript |
JSPresenceStruct * | associatedPresence |
SpaceObjectReference | mHomeObject |
JSSystemStruct * | mSystem |
v8::Persistent< v8::Object > | systemObj |
v8::Handle< v8::ObjectTemplate > | mContGlobTempl |
JSUtilStruct * | mUtil |
bool | inClear |
SuspendableMap | associatedSuspendables |
bool | mInSuspendableLoop |
SuspendableVec | suspendablesToDelete |
SuspendableVec | suspendablesToAdd |
Sirikata::JS::JSContextStruct::JSContextStruct | ( | JSObjectScript * | parent, |
JSPresenceStruct * | whichPresence, | ||
SpaceObjectReference | home, | ||
Capabilities::CapNum | capNum, | ||
v8::Handle< v8::ObjectTemplate > | contGlobTempl, | ||
uint32 | contextID, | ||
JSContextStruct * | parentContext, | ||
JSCtx * | jsctx | ||
) |
References createContextObjects().
Sirikata::JS::JSContextStruct::~JSContextStruct | ( | ) |
References clear(), Sirikata::Liveness::letDie(), mSystem, and mUtil.
bool Sirikata::JS::JSContextStruct::canReceiveMessagesFor | ( | const SpaceObjectReference & | receiver | ) |
void Sirikata::JS::JSContextStruct::checkContextConnectCallback | ( | JSPresenceStruct * | jspres | ) |
References cbOnConnected, Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::JS::JSSuspendable::getIsSuspended(), Sirikata::JS::EmersonScript::handlePresCallback(), hasOnConnectedCallback, and jsObjScript.
Referenced by Sirikata::JS::JSPresenceStruct::callConnectedCallback(), Sirikata::JS::EmersonScript::iOnConnected(), and struct_rootReset().
void Sirikata::JS::JSContextStruct::checkContextDisconnectCallback | ( | JSPresenceStruct * | jspres | ) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::checkHeadless | ( | ) |
References jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::checkHeadless().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::clear | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References Sirikata::JS::JSSuspendable::getIsCleared(), jsObjScript, and Sirikata::JS::JSObjectScript::registerContextForClear().
Referenced by finishClear(), Sirikata::JS::JSObjectScript::iStop(), and ~JSContextStruct().
void Sirikata::JS::JSContextStruct::createContextObjects | ( | String * | scriptToEval = NULL | ) | [private] |
References CONTEXT_GLOBAL_JSOBJECT_SCRIPT_FIELD, CONTEXT_GLOBAL_TYPEID_STRING, jsObjScript, mContext, mSystem, mUtil, Sirikata::JS::JSObjectScript::shimImportAndEvalScript(), SYSTEM_TEMPLATE_SYSTEM_FIELD, SYSTEM_TYPEID_STRING, systemObj, TYPEID_FIELD, UTIL_TEMPLATE_UTILSTRUCT_FIELD, and UTIL_TYPEID_STRING.
Referenced by JSContextStruct(), and struct_rootReset().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::debug_fileRead | ( | String & | filename | ) |
References Sirikata::JS::JSObjectScript::debug_fileRead(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::debug_fileRead().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::debug_fileWrite | ( | String & | strToWrite, |
String & | filename | ||
) |
References Sirikata::JS::JSObjectScript::debug_fileWrite(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::debug_fileWrite().
JSContextStruct * Sirikata::JS::JSContextStruct::decodeContextStruct | ( | v8::Handle< v8::Value > | toDecode, |
String & | errorMsg | ||
) | [static] |
References CONTEXT_FIELD_CONTEXT_STRUCT, and CONTEXT_TEMPLATE_FIELD_COUNT.
Referenced by Sirikata::JS::JSContext::ScriptResume(), and Sirikata::JS::JSContext::ScriptSuspend().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::deserialize | ( | const String & | toDeserialize | ) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::emersonCompileString | ( | const String & | toCompile | ) |
References Sirikata::JS::JSObjectScript::emersonCompileString(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::emersonCompileString().
void Sirikata::JS::JSContextStruct::finishClear | ( | ) |
References associatedSuspendables, cbOnConnected, cbOnDisconnected, Sirikata::JS::JSSuspendable::clear(), clear(), flushQueuedSuspendablesToChange(), Sirikata::JS::EmersonScript::getEmersonHttpPtr(), hasOnConnectedCallback, hasOnDisconnectedCallback, inClear, Sirikata::Logging::insane, JSLOG, jsObjScript, mContext, mInSuspendableLoop, presenceMessageCallback, sandboxMessageCallback, and systemObj.
Referenced by Sirikata::JS::EmersonScript::finishContextClear(), and Sirikata::JS::JSObjectScript::registerContextForClear().
void Sirikata::JS::JSContextStruct::flushQueuedSuspendablesToChange | ( | ) | [private] |
Function runs through suspendablesToDelete and deregisters them.
Also runs through suspendablesToAdd and adds them. (Makes it so that we don't mess up our iterators by adding to and removing from what they're iterating over.)
References Sirikata::Logging::error, JSLOG, mInSuspendableLoop, struct_deregisterSuspendable(), struct_registerSuspendable(), suspendablesToAdd, and suspendablesToDelete.
Referenced by finishClear(), hasPresence(), resume(), and suspend().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::getAssociatedPresence | ( | ) |
References associatedPresence, jsObjScript, mContext, and Sirikata::JS::EmersonScript::wrapPresence().
Referenced by Sirikata::JS::JSSystemStruct::getAssociatedPresence().
JSPresenceStruct* Sirikata::JS::JSContextStruct::getAssociatedPresenceStruct | ( | ) | [inline] |
References associatedPresence.
Referenced by Sirikata::JS::JSObjectScript::checkCurCtxtHasCapability().
Capabilities::CapNum Sirikata::JS::JSContextStruct::getCapNum | ( | ) |
References Sirikata::JS::JSSystemStruct::getCapNum(), and mSystem.
Referenced by Sirikata::JS::JSObjectScript::checkCurCtxtHasCapability().
uint32 Sirikata::JS::JSContextStruct::getContextID | ( | ) |
References mContextID.
Referenced by Sirikata::JS::JSObjectScript::absoluteImport(), Sirikata::JS::EmersonScript::create_timeout(), Sirikata::JS::JSPresenceStruct::getAllData(), Sirikata::JS::JSPresenceStruct::JSPresenceStruct(), Sirikata::JS::JSTimerStruct::JSTimerStruct(), Sirikata::JS::JSObjectScript::require(), sendSandbox(), and Sirikata::JS::JSTimerStruct::struct_getAllData().
String Sirikata::JS::JSContextStruct::getScript | ( | ) |
References mScript.
Referenced by struct_getScript().
bool Sirikata::JS::JSContextStruct::hasPresence | ( | const SpaceObjectReference & | sporef | ) | [private] |
void Sirikata::JS::JSContextStruct::httpFail | ( | v8::Persistent< v8::Function > | cb, |
const String & | failureReason | ||
) |
The http request that was associated with this request failed.
Execute callback with two arguments: false, and a string with the reason (potential reasons: UNKNOWN_ERROR, REQUEST_PARSING_ERROR, RESPONSE_PARSING_ERROR. Caller is in charge of calling dispose on cb.
References Sirikata::JS::JSObjectScript::invokeCallback(), Sirikata::JS::JSObjectScript::isStopped(), JSLOG, jsObjScript, mContext, mCtx, Sirikata::JS::JSCtx::mIsolate, Sirikata::JS::JSObjectScript::postCallbackChecks(), and Sirikata::Logging::warn.
Referenced by Sirikata::JS::EmersonHttpManager::postReceiveResp().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::httpRequest | ( | Sirikata::Network::Address | addr, |
Transfer::HttpManager::HTTP_METHOD | method, | ||
String | request, | ||
v8::Persistent< v8::Function > | cb | ||
) |
References Sirikata::JS::EmersonScript::getEmersonHttpPtr(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::httpRequest().
void Sirikata::JS::JSContextStruct::httpSuccess | ( | v8::Persistent< v8::Function > | cb, |
EmersonHttpManager::HttpRespPtr | httpResp | ||
) |
The http request that was associated with cb passed, and its associated data are in httpResp.
Execute callback with first argument true, and second argument containing data. Caller is in charge of calling dispose on cb.
References Sirikata::JS::JSObjectScript::invokeCallback(), Sirikata::JS::JSObjectScript::isStopped(), JSLOG, jsObjScript, mContext, mCtx, Sirikata::JS::JSCtx::mIsolate, Sirikata::JS::JSObjectScript::postCallbackChecks(), Sirikata::JS::strToUint16Str(), and Sirikata::Logging::warn.
Referenced by Sirikata::JS::EmersonHttpManager::postReceiveResp().
void Sirikata::JS::JSContextStruct::jsscript_print | ( | const String & | msg | ) |
References jsObjScript, and Sirikata::JS::JSObjectScript::print().
Referenced by Sirikata::JS::JSSystemStruct::struct_print().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::killEntity | ( | ) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::killEntity().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::popEvalContextScopeDirectory | ( | ) |
References jsObjScript, and Sirikata::JS::JSObjectScript::popEvalContextScopeDirectory().
Referenced by Sirikata::JS::JSSystemStruct::popEvalContextScopeDirectory().
void Sirikata::JS::JSContextStruct::presenceDied | ( | ) |
References Sirikata::Logging::error, and JSLOG.
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::proxAddedHandlerCallallback | ( | v8::Handle< v8::Function > | cb | ) |
References proxAddedFunc.
Referenced by Sirikata::JS::JSSystemStruct::proxAddedHandlerCallallback().
void Sirikata::JS::JSContextStruct::proximateEvent | ( | const SpaceObjectReference & | goneFrom, |
JSVisibleStruct * | jsvis, | ||
bool | isGone | ||
) |
{sporef} | goneFrom The id of the local presence that the presence represented by jsvis is no longer within query set of. |
{JSVisibleStruct*} | The struct associated with the external presence that is no longer visible to goneFrom. |
{bool} | isGone True if the event is that a visible moved *out* of a presence's result set. False if the event is that a visible moved *into* a presence's result set. |
Checks to see if this notification is applicable to fire. Ie, if the sandbox isn't suspended and if the notification is for its root presence (and we have capability to fire for the root presence) or if the notification is for one of the presences created in this sandbox.
If the above conditions are met, actually fires proximate event.
References associatedPresence, cbOnConnected, cbOnDisconnected, CHECK_EMERSON_SCRIPT_RETURN, Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::JS::JSSuspendable::getIsSuspended(), Sirikata::JS::JSPositionListener::getSporef(), hasPresence(), JSLOG, jsObjScript, and Sirikata::Logging::warn.
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::proxRemovedHandlerCallallback | ( | v8::Handle< v8::Function > | cb | ) |
References proxRemovedFunc.
Referenced by Sirikata::JS::JSSystemStruct::proxRemovedHandlerCallallback().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::pushEvalContextScopeDirectory | ( | const String & | newDir | ) |
References jsObjScript, and Sirikata::JS::JSObjectScript::pushEvalContextScopeDirectory().
Referenced by Sirikata::JS::JSSystemStruct::pushEvalContextScopeDirectory().
void Sirikata::JS::JSContextStruct::receiveSandboxMessage | ( | v8::Local< v8::Object > | msgObj, |
JSContextStruct * | sender | ||
) |
msgObj is the JS object message that is being delivered from sender to me.
Dispatches the onSandboxMessage handler that is bound to newly created contexts.
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::restorePresence | ( | PresStructRestoreParams & | psrp | ) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::restorePresence().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::resume | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References associatedSuspendables, Sirikata::Logging::error, flushQueuedSuspendablesToChange(), Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::Logging::insane, JSLOG, and mInSuspendableLoop.
Referenced by Sirikata::JS::JSContext::ScriptResume().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::sendMessageNoErrorHandler | ( | JSPresenceStruct * | jspres, |
const String & | serialized_message, | ||
JSPositionListener * | jspl, | ||
bool | reliable | ||
) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::sendSandbox | ( | const String & | msgToSend, |
JSContextStruct * | destination | ||
) |
{string} | serialized message to send |
{JSContextStruct*} | destination. (If null, means send to parent). |
Sends a message from this sandbox to the sandbox associated with destination. If destination is null, sends to parent.
References CHECK_EMERSON_SCRIPT_ERROR, getContextID(), jsObjScript, mParentContext, sendSandbox(), and V8_EXCEPTION_CSTR.
Referenced by Sirikata::JS::JSSystemStruct::sendSandbox(), and sendSandbox().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::setPresenceMessageCallback | ( | v8::Persistent< v8::Function > | callback | ) |
References presenceMessageCallback.
Referenced by Sirikata::JS::JSSystemStruct::setPresenceMessageCallback().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::setRestoreScript | ( | const String & | key, |
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::setRestoreScript().
Referenced by Sirikata::JS::JSSystemStruct::setRestoreScript().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::setSandboxMessageCallback | ( | v8::Persistent< v8::Function > | callback | ) |
References sandboxMessageCallback.
Referenced by Sirikata::JS::JSSystemStruct::setSandboxMessageCallback().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageBeginTransaction | ( | ) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageBeginTransaction().
Referenced by Sirikata::JS::JSSystemStruct::storageBeginTransaction().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageCommit | ( | v8::Handle< v8::Function > | cb | ) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageCommit().
Referenced by Sirikata::JS::JSSystemStruct::storageCommit().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageCount | ( | const OH::Storage::Key & | start, |
const OH::Storage::Key & | finish, | ||
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageCount().
Referenced by Sirikata::JS::JSSystemStruct::storageCount().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageErase | ( | const OH::Storage::Key & | key, |
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageErase().
Referenced by Sirikata::JS::JSSystemStruct::storageErase().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageRangeErase | ( | const OH::Storage::Key & | start, |
const OH::Storage::Key & | finish, | ||
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageRangeErase().
Referenced by Sirikata::JS::JSSystemStruct::storageRangeErase().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageRangeRead | ( | const OH::Storage::Key & | start, |
const OH::Storage::Key & | finish, | ||
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageRangeRead().
Referenced by Sirikata::JS::JSSystemStruct::storageRangeRead().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageRead | ( | const OH::Storage::Key & | key, |
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageRead().
Referenced by Sirikata::JS::JSSystemStruct::storageRead().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::storageWrite | ( | const OH::Storage::Key & | key, |
const String & | toWrite, | ||
v8::Handle< v8::Function > | cb | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::storageWrite().
Referenced by Sirikata::JS::JSSystemStruct::storageWrite().
void Sirikata::JS::JSContextStruct::struct_asyncDeregisterSuspendable | ( | JSSuspendable * | toDeregister, |
Liveness::Token | contAlive, | ||
Liveness::Token | suspAlive | ||
) |
References mContext, mCtx, Sirikata::JS::JSCtx::mIsolate, and struct_deregisterSuspendable().
Referenced by Sirikata::JS::JSTimerStruct::clear().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_create_vis | ( | const SpaceObjectReference & | sporefWathcing, |
JSVisibleDataPtr | addParams | ||
) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_create_vis().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createContext | ( | JSPresenceStruct * | jspres, |
const SpaceObjectReference & | canSendTo, | ||
Capabilities::CapNum | capNum | ||
) |
{JSPresenceStruct} | jspres Each context (other than the root) is associated with a single presence. Depending on the capabilities granted to a sandbox, code within the sandbox can act on that presence, for instance, sending messages from it, receiving its proximity callbacks, etc. |
{SpaceObjectReference} | canSendTo The sporef associated with the May be SpaceObjectReference::null. Used for the sendHome call. |
{Capabilities::CapNum} | capNum Capabilities granted to knew sandbox. |
References associatedPresence, Sirikata::JS::JSObjectScript::createContext(), jsObjScript, and struct_registerSuspendable().
Referenced by Sirikata::JS::JSSystemStruct::struct_createContext().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createEntity | ( | EntityCreateInfo & | eci | ) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_createEntity().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createQuaternion | ( | Quaternion & | toCreate | ) |
References Sirikata::JS::CreateJSResult(), and mContext.
Referenced by Sirikata::JS::JSUtilStruct::struct_createQuaternion().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createTimeout | ( | double | period, |
v8::Persistent< v8::Function > & | cb, | ||
uint32 | contID, | ||
double | timeRemaining, | ||
bool | isSuspended, | ||
bool | isCleared | ||
) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createTimeout | ( | double | period, |
v8::Persistent< v8::Function > & | cb | ||
) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_createTimeout().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_createVec3 | ( | Vector3d & | toCreate | ) |
References Sirikata::JS::CreateJSResult_Vec3Impl(), and mContext.
Referenced by Sirikata::JS::JSUtilStruct::struct_createVec3().
void Sirikata::JS::JSContextStruct::struct_deregisterSuspendable | ( | JSSuspendable * | toDeregister | ) |
References associatedSuspendables, Sirikata::JS::EmersonScript::deletePres(), Sirikata::Logging::error, JSLOG, jsObjScript, mInSuspendableLoop, and suspendablesToDelete.
Referenced by Sirikata::JS::JSTimerStruct::clear(), Sirikata::JS::JSPresenceStruct::clear(), flushQueuedSuspendablesToChange(), and struct_asyncDeregisterSuspendable().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_evalInGlobal | ( | const String & | native_contents, |
ScriptOrigin * | sOrigin | ||
) |
References Sirikata::JS::JSObjectScript::evalInGlobal(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_evalInGlobal().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_event | ( | v8::Persistent< v8::Function > & | cb | ) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_event().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_executeScript | ( | v8::Handle< v8::Function > | funcToCall, |
const v8::Arguments & | args | ||
) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_getAssociatedPresPosition | ( | ) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_getScript | ( | ) |
References getScript().
Referenced by Sirikata::JS::JSSystemStruct::struct_getScript().
v8::Handle< Object > Sirikata::JS::JSContextStruct::struct_getSystem | ( | ) |
References mContext.
Referenced by Sirikata::JS::JSObjectScript::printExceptionToScript().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_import | ( | const String & | toImportFrom, |
bool | isJS | ||
) |
References Sirikata::JS::JSObjectScript::import(), and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_import().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_registerOnPresenceConnectedHandler | ( | v8::Persistent< v8::Function > | cb_persist | ) |
References cbOnConnected, and hasOnConnectedCallback.
Referenced by Sirikata::JS::JSSystemStruct::struct_registerOnPresenceConnectedHandler().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_registerOnPresenceDisconnectedHandler | ( | v8::Persistent< v8::Function > | cb_persist | ) |
References cbOnDisconnected, and hasOnDisconnectedCallback.
Referenced by Sirikata::JS::JSSystemStruct::struct_registerOnPresenceDisconnectedHandler().
void Sirikata::JS::JSContextStruct::struct_registerSuspendable | ( | JSSuspendable * | toRegister | ) |
References associatedSuspendables, Sirikata::Logging::error, Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::Logging::insane, JSLOG, mInSuspendableLoop, and suspendablesToAdd.
Referenced by Sirikata::JS::JSTimerStruct::fixSuspendableToContext(), flushQueuedSuspendablesToChange(), Sirikata::JS::JSPresenceStruct::JSPresenceStruct(), Sirikata::JS::JSTimerStruct::JSTimerStruct(), struct_createContext(), and struct_rootReset().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_require | ( | const String & | toRequireFrom, |
bool | isJS | ||
) |
References jsObjScript, and Sirikata::JS::JSObjectScript::require().
Referenced by Sirikata::JS::JSSystemStruct::struct_require().
v8::Handle<v8::Value> Sirikata::JS::JSContextStruct::struct_resumeContext | ( | ) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_rootReset | ( | ) |
This function is called only by JSObjectScript directly.
It disposes of mContext and system objects. It then runs through all suspendables associated with this context, calling clear on each (minus the presences).
References associatedSuspendables, CHECK_EMERSON_SCRIPT_ERROR, checkContextConnectCallback(), Sirikata::JS::JSPresenceStruct::clear(), createContextObjects(), inClear, jsObjScript, mContext, mContGlobTempl, mInSuspendableLoop, mScript, struct_registerSuspendable(), suspendablesToAdd, suspendablesToDelete, and systemObj.
Referenced by Sirikata::JS::EmersonScript::resetScript().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_sendHome | ( | const String & | toSend | ) |
References associatedPresence, CHECK_EMERSON_SCRIPT_ERROR, Sirikata::Logging::error, Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::JS::JSPositionListener::getSporef(), JSLOG, jsObjScript, mHomeObject, Sirikata::SpaceObjectReference::null(), and NullPresenceCheck.
Referenced by Sirikata::JS::JSSystemStruct::struct_sendHome().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_setReset | ( | const std::map< SpaceObjectReference, std::vector< SpaceObjectReference > > & | proxResSet | ) |
References CHECK_EMERSON_SCRIPT_ERROR, and jsObjScript.
Referenced by Sirikata::JS::JSSystemStruct::struct_reset().
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::struct_setScript | ( | const String & | script | ) |
References Sirikata::JS::JSObjectScript::isRootContext(), jsObjScript, and mScript.
Referenced by Sirikata::JS::JSObjectScript::initialize(), and Sirikata::JS::JSSystemStruct::struct_setScript().
v8::Handle<v8::Value> Sirikata::JS::JSContextStruct::struct_suspendContext | ( | ) |
v8::Handle< v8::Value > Sirikata::JS::JSContextStruct::suspend | ( | ) | [virtual] |
Reimplemented from Sirikata::JS::JSSuspendable.
References associatedSuspendables, Sirikata::Logging::error, flushQueuedSuspendablesToChange(), Sirikata::JS::JSSuspendable::getIsCleared(), Sirikata::Logging::insane, JSLOG, and mInSuspendableLoop.
Referenced by Sirikata::JS::JSContext::ScriptSuspend().
Referenced by finishClear(), hasPresence(), resume(), struct_deregisterSuspendable(), struct_registerSuspendable(), struct_rootReset(), and suspend().
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::cbOnConnected [private] |
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::cbOnDisconnected [private] |
bool Sirikata::JS::JSContextStruct::hasOnConnectedCallback [private] |
Referenced by checkContextConnectCallback(), finishClear(), and struct_registerOnPresenceConnectedHandler().
bool Sirikata::JS::JSContextStruct::hasOnDisconnectedCallback [private] |
Referenced by checkContextDisconnectCallback(), finishClear(), and struct_registerOnPresenceDisconnectedHandler().
bool Sirikata::JS::JSContextStruct::inClear [private] |
Referenced by finishClear(), and struct_rootReset().
Referenced by checkContextConnectCallback(), checkContextDisconnectCallback(), Sirikata::JS::JSSystemStruct::checkCurCtxtHasCapability(), checkHeadless(), clear(), createContextObjects(), debug_fileRead(), debug_fileWrite(), deserialize(), emersonCompileString(), finishClear(), getAssociatedPresence(), httpFail(), httpRequest(), httpSuccess(), jsscript_print(), killEntity(), popEvalContextScopeDirectory(), proximateEvent(), pushEvalContextScopeDirectory(), restorePresence(), sendMessageNoErrorHandler(), sendSandbox(), setRestoreScript(), storageBeginTransaction(), storageCommit(), storageCount(), storageErase(), storageRangeErase(), storageRangeRead(), storageRead(), storageWrite(), struct_create_vis(), struct_createContext(), struct_createEntity(), struct_createTimeout(), struct_deregisterSuspendable(), struct_evalInGlobal(), struct_event(), struct_executeScript(), struct_import(), struct_require(), struct_rootReset(), struct_sendHome(), struct_setReset(), and struct_setScript().
v8::Persistent<v8::Context> Sirikata::JS::JSContextStruct::mContext |
Referenced by Sirikata::JS::JSObjectScript::absoluteImport(), createContextObjects(), Sirikata::JS::JSObjectScript::executeInSandbox(), Sirikata::JS::EmersonScript::findVisible(), finishClear(), Sirikata::JS::EmersonScript::fireProxEvent(), getAssociatedPresence(), Sirikata::JS::JSObjectScript::getCurrentV8Context(), Sirikata::JS::EmersonScript::handlePresCallback(), httpFail(), httpSuccess(), Sirikata::JS::JSPositionListener::iFinishLoadMesh(), Sirikata::JS::EmersonScript::iHandleScriptCommRead(), Sirikata::JS::JSObjectScript::initialize(), Sirikata::JS::JSObjectScript::invokeCallback(), Sirikata::JS::EmersonScript::invokeCallbackInContext(), Sirikata::JS::JSObjectScript::iSetRestoreScriptCallback(), Sirikata::JS::JSObjectScript::iStorageCommitCallback(), Sirikata::JS::JSObjectScript::iStorageCountCallback(), Sirikata::JS::JSObjectScript::printExceptionToScript(), Sirikata::JS::EmersonScript::processSandboxMessage(), Sirikata::JS::EmersonScript::restorePresence(), struct_asyncDeregisterSuspendable(), struct_createQuaternion(), struct_createVec3(), struct_getAssociatedPresPosition(), struct_getSystem(), struct_rootReset(), and Sirikata::JS::EmersonScript::wrapPresence().
uint32 Sirikata::JS::JSContextStruct::mContextID [private] |
Referenced by getContextID().
v8::Handle<v8::ObjectTemplate> Sirikata::JS::JSContextStruct::mContGlobTempl [private] |
Referenced by struct_rootReset().
Referenced by httpFail(), httpSuccess(), and struct_asyncDeregisterSuspendable().
Referenced by struct_sendHome().
bool Sirikata::JS::JSContextStruct::mInSuspendableLoop [private] |
Referenced by Sirikata::JS::EmersonScript::processSandboxMessage(), and sendSandbox().
String Sirikata::JS::JSContextStruct::mScript [private] |
Referenced by getScript(), struct_rootReset(), and struct_setScript().
Referenced by createContextObjects(), getCapNum(), and ~JSContextStruct().
JSUtilStruct* Sirikata::JS::JSContextStruct::mUtil [private] |
Referenced by createContextObjects(), and ~JSContextStruct().
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::presenceMessageCallback |
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::proxAddedFunc |
Referenced by Sirikata::JS::EmersonScript::fireProxEvent(), and proxAddedHandlerCallallback().
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::proxRemovedFunc |
Referenced by Sirikata::JS::EmersonScript::fireProxEvent(), and proxRemovedHandlerCallallback().
v8::Persistent<v8::Function> Sirikata::JS::JSContextStruct::sandboxMessageCallback |
Referenced by finishClear(), Sirikata::JS::EmersonScript::processSandboxMessage(), and setSandboxMessageCallback().
Referenced by flushQueuedSuspendablesToChange(), struct_registerSuspendable(), and struct_rootReset().
Referenced by flushQueuedSuspendablesToChange(), struct_deregisterSuspendable(), and struct_rootReset().
v8::Persistent<v8::Object> Sirikata::JS::JSContextStruct::systemObj [private] |
Referenced by createContextObjects(), finishClear(), and struct_rootReset().