Sirikata
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
Sirikata::JS::JSObjectScriptManager Class Reference

#include <JSObjectScriptManager.hpp>

Inheritance diagram for Sirikata::JS::JSObjectScriptManager:
Collaboration diagram for Sirikata::JS::JSObjectScriptManager:

List of all members.

Public Types

typedef std::tr1::function
< void(Mesh::VisualPtr)> 
MeshLoadCallback

Public Member Functions

 JSObjectScriptManager (ObjectHostContext *ctx, const Sirikata::String &arguments)
virtual ~JSObjectScriptManager ()
virtual ObjectScriptcreateObjectScript (HostedObjectPtr ho, const String &args, const String &script)
 Create a script linked to this HostedObject.
virtual void destroyObjectScript (ObjectScript *toDestroy)
 Delete this ObjectScript instance.
JSObjectScriptcreateHeadless (const String &args, const String &script, int32 maxres)
OptionSetgetOptions () const
void loadMesh (const Transfer::URI &uri, MeshLoadCallback cb)

Static Public Member Functions

static ObjectScriptManagercreateObjectScriptManager (ObjectHostContext *ctx, const Sirikata::String &arguments)

Private Types

typedef
std::tr1::unordered_map
< Transfer::URI,
Mesh::VisualWPtr,
Transfer::URI::Hasher
MeshCache
typedef
std::tr1::unordered_map
< Transfer::URI,
Transfer::ResourceDownloadTaskPtr,
Transfer::URI::Hasher
MeshDownloads
typedef std::vector
< MeshLoadCallback
MeshLoadCallbackList
typedef
std::tr1::unordered_map
< Transfer::URI,
MeshLoadCallbackList,
Transfer::URI::Hasher
WaitingMeshCallbacks

Private Member Functions

void createVisibleTemplate (JSCtx *)
void createPresenceTemplate (JSCtx *)
void createContextTemplate (JSCtx *)
void createUtilTemplate (JSCtx *)
void createJSInvokableObjectTemplate (JSCtx *)
void createSystemTemplate (JSCtx *)
void createTimerTemplate (JSCtx *)
void createContextGlobalTemplate (JSCtx *)
JSCtxcreateJSCtx (HostedObjectPtr)
void meshDownloaded (Transfer::ResourceDownloadTaskPtr taskptr, Transfer::TransferRequestPtr request, Transfer::DenseDataPtr data)
void parseMeshWork (const Transfer::RemoteFileMetadata &metadata, const Transfer::Fingerprint &fp, Transfer::DenseDataPtr data)
void meshParsed ()
void finishMeshDownload (const Transfer::URI &uri, Mesh::VisualPtr mesh)

Private Attributes

ObjectHostContextmContext
OptionSetmOptions
MeshCache mMeshCache
MeshDownloads mMeshDownloads
WaitingMeshCallbacks mMeshCallbacks
Transfer::TransferPoolPtr mTransferPool
Network::IOServicemParsingIOService
Network::IOWorkmParsingWork
ThreadmParsingThread
ModelsSystemmModelParser
Mesh::FiltermModelFilter

Member Typedef Documentation


Constructor & Destructor Documentation

Sirikata::JS::JSObjectScriptManager::JSObjectScriptManager ( ObjectHostContext ctx,
const Sirikata::String &  arguments 
)
Sirikata::JS::JSObjectScriptManager::~JSObjectScriptManager ( ) [virtual]

Member Function Documentation

void Sirikata::JS::JSObjectScriptManager::createContextGlobalTemplate ( JSCtx jsctx) [private]
void Sirikata::JS::JSObjectScriptManager::createContextTemplate ( JSCtx jsctx) [private]
JSObjectScript * Sirikata::JS::JSObjectScriptManager::createHeadless ( const String &  args,
const String &  script,
int32  maxres 
)
JSCtx * Sirikata::JS::JSObjectScriptManager::createJSCtx ( HostedObjectPtr  ho) [private]
void Sirikata::JS::JSObjectScriptManager::createJSInvokableObjectTemplate ( JSCtx jsctx) [private]
ObjectScript * Sirikata::JS::JSObjectScriptManager::createObjectScript ( HostedObjectPtr  ho,
const String &  args,
const String &  init_script 
) [virtual]

Create a script linked to this HostedObject.

Called by HostedObject::initializeScripted().

Implements Sirikata::ObjectScriptManager.

References createJSCtx(), and Sirikata::JS::EmersonScript::valid().

ObjectScriptManager * Sirikata::JS::JSObjectScriptManager::createObjectScriptManager ( ObjectHostContext ctx,
const Sirikata::String &  arguments 
) [static]

Referenced by init().

void Sirikata::JS::JSObjectScriptManager::createPresenceTemplate ( JSCtx jsctx) [private]
void Sirikata::JS::JSObjectScriptManager::createSystemTemplate ( JSCtx jsctx) [private]

References Sirikata::JS::JSSystem::debug_fileRead(), Sirikata::JS::JSSystem::debug_fileWrite(), Sirikata::JS::JSSystem::emersonCompileString(), Sirikata::JS::JSSystem::evalInGlobal(), Sirikata::JS::JSSystem::getAssociatedPresence(), Sirikata::JS::JSSystem::getUniqueToken(), JS_STRING, Sirikata::JS::JSCtx::mPresenceTemplate, Sirikata::JS::JSCtx::mSystemTemplate, Sirikata::JS::JSCtx::mVisibleTemplate, Sirikata::JS::JSSystem::popEvalContextScopeDirectory(), Sirikata::JS::JSSystem::pushEvalContextScopeDirectory(), Sirikata::JS::JSSystem::root_canCreateEnt(), Sirikata::JS::JSSystem::root_canCreatePres(), Sirikata::JS::JSSystem::root_canEval(), Sirikata::JS::JSSystem::root_canImport(), Sirikata::JS::JSSystem::root_canProxCallback(), Sirikata::JS::JSSystem::root_canProxChangeQuery(), Sirikata::JS::JSSystem::root_canRecvMessage(), Sirikata::JS::JSSystem::root_canSendMessage(), Sirikata::JS::JSSystem::root_createContext(), Sirikata::JS::JSSystem::root_createEntity(), Sirikata::JS::JSSystem::root_createEntityNoSpace(), Sirikata::JS::JSSystem::root_createVisible(), Sirikata::JS::JSSystem::root_deserialize(), Sirikata::JS::JSSystem::root_event(), Sirikata::JS::JSSystem::root_getScript(), Sirikata::JS::JSSystem::root_getVersion(), Sirikata::JS::JSSystem::root_headless(), Sirikata::JS::JSSystem::root_http(), Sirikata::JS::JSSystem::root_import(), Sirikata::JS::JSSystem::root_jsimport(), Sirikata::JS::JSSystem::root_jsrequire(), Sirikata::JS::JSSystem::root_killEntity(), Sirikata::JS::JSSystem::root_onPresenceConnected(), Sirikata::JS::JSSystem::root_onPresenceDisconnected(), Sirikata::JS::JSSystem::root_print(), Sirikata::JS::JSSystem::root_proxAddedHandler(), Sirikata::JS::JSSystem::root_proxRemovedHandler(), Sirikata::JS::JSSystem::root_require(), Sirikata::JS::JSSystem::root_reset(), Sirikata::JS::JSSystem::root_restorePresence(), Sirikata::JS::JSSystem::root_sendHome(), Sirikata::JS::JSSystem::root_sendSandbox(), Sirikata::JS::JSSystem::root_serialize(), Sirikata::JS::JSSystem::root_setScript(), Sirikata::JS::JSSystem::root_timeout(), Sirikata::JS::JSSystem::sendMessageReliable(), Sirikata::JS::JSSystem::sendMessageUnreliable(), Sirikata::JS::JSSystem::setPresenceMessageCallback(), Sirikata::JS::JSSystem::setRestoreScript(), Sirikata::JS::JSSystem::setSandboxMessageCallback(), Sirikata::JS::JSSystem::storageBeginTransaction(), Sirikata::JS::JSSystem::storageCommit(), Sirikata::JS::JSSystem::storageCount(), Sirikata::JS::JSSystem::storageErase(), Sirikata::JS::JSSystem::storageRangeErase(), Sirikata::JS::JSSystem::storageRangeRead(), Sirikata::JS::JSSystem::storageRead(), Sirikata::JS::JSSystem::storageWrite(), and SYSTEM_TEMPLATE_FIELD_COUNT.

Referenced by createJSCtx().

void Sirikata::JS::JSObjectScriptManager::createTimerTemplate ( JSCtx jsctx) [private]
void Sirikata::JS::JSObjectScriptManager::createUtilTemplate ( JSCtx jsctx) [private]
void Sirikata::JS::JSObjectScriptManager::createVisibleTemplate ( JSCtx jsctx) [private]
void Sirikata::JS::JSObjectScriptManager::destroyObjectScript ( ObjectScript toDestroy) [virtual]

Delete this ObjectScript instance.

Implements Sirikata::ObjectScriptManager.

void Sirikata::JS::JSObjectScriptManager::finishMeshDownload ( const Transfer::URI uri,
Mesh::VisualPtr  mesh 
) [private]
OptionSet* Sirikata::JS::JSObjectScriptManager::getOptions ( ) const [inline]
void Sirikata::JS::JSObjectScriptManager::loadMesh ( const Transfer::URI uri,
MeshLoadCallback  cb 
)
void Sirikata::JS::JSObjectScriptManager::meshDownloaded ( Transfer::ResourceDownloadTaskPtr  taskptr,
Transfer::TransferRequestPtr  request,
Transfer::DenseDataPtr  data 
) [private]
void Sirikata::JS::JSObjectScriptManager::meshParsed ( ) [private]
void Sirikata::JS::JSObjectScriptManager::parseMeshWork ( const Transfer::RemoteFileMetadata metadata,
const Transfer::Fingerprint fp,
Transfer::DenseDataPtr  data 
) [private]

Member Data Documentation

Referenced by finishMeshDownload(), and loadMesh().

Referenced by finishMeshDownload(), and loadMesh().

Referenced by finishMeshDownload(), and loadMesh().

Referenced by JSObjectScriptManager().

Referenced by JSObjectScriptManager().

Referenced by JSObjectScriptManager(), and loadMesh().


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