Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

scripting
Class ScriptingHost

Singleton
   |
   +--ScriptingHost

   in ScriptingHost.h
   in ScriptingHost.cpp

class ScriptingHost
extends Singleton


Field Summary
private JSContext* m_Context
          
private std::map< std::string, CustomType > m_CustomObjectTypes
          
private JSErrorReport m_ErrorReport
          
private JSObject* m_GlobalObject
          
private JSRuntime* m_RunTime
          
 
Constructor Summary
ScriptingHost()
          
~ScriptingHost()
          
 
Method Summary
 jsval CallFunction( const std::string& functionName, jsval* params, int numParams )
          
 JSObject* CreateCustomObject( const std::string& typeName )
          
 void DefineConstant( const std::string& name, double value )
          
 void DefineConstant( const std::string& name, int value )
          
 void DefineCustomObjectType( JSClass* clasp, JSNative constructor, uintN minArgs, JSPropertySpec* ps, JSFunctionSpec* fs, JSPropertySpec* static_ps, JSFunctionSpec* static_fs )
          
 static void ErrorReporter( JSContext* context, const char* message, JSErrorReport* report )
          
 jsval ExecuteScript( const CStrW& script, const CStrW& calledFrom = CStrW( L"Console" ), JSObject* contextObject = NULL )
          
 static void FinalShutdown()
          
 inline JSContext* GetContext()
          
 inline JSContext* getContext()
          
 jsval GetGlobal( const std::string& globalName )
          
 inline JSObject* GetGlobalObject()
          
 jsval GetObjectProperty( JSObject* object, const std::string& propertyName )
          
 double GetObjectProperty_Double( JSObject* object, const char* propertyName )
          
private void* jshook_function( JSContext* cx, JSStackFrame* fp, JSBool before, JSBool* UNUSED( ok ), void* closure )
          
private void* jshook_script( JSContext* UNUSED( cx ), JSStackFrame* UNUSED( fp ), JSBool before, JSBool* UNUSED( ok ), void* closure )
          
 void RegisterFunction( const std::string& functionName, JSNative function, int numArgs )
          
 void RunMemScript( const char* script, size_t size, const char* filename = 0, int line = 0, JSObject* globalObject = 0 )
          
 void RunScript( const CStr& filename, JSObject* globalObject = 0 )
          
 void SetGlobal( const std::string& globalName, jsval value )
          
 void SetObjectProperty( JSObject* object, const std::string& propertyName, jsval value )
          
 void SetObjectProperty_Double( JSObject* object, const char* propertyName, double value )
          
 jsval UCStringToValue( const CStrW& str )
          
 jsval UTF16ToValue( const utf16string& str )
          
 bool ValueToBool( const jsval value )
          
 double ValueToDouble( const jsval value )
          
 int ValueToInt( const jsval value )
          
 std::string ValueToString( const jsval value )
          
 CStrW ValueToUCString( const jsval value )
          
 utf16string ValueToUTF16( const jsval value )
          
   
Methods inherited from class Singleton
GetSingleton, GetSingletonPtr, IsInitialised
 

Field Detail

m_Context

private JSContext* m_Context;

m_CustomObjectTypes

private std::map< std::string, CustomType > m_CustomObjectTypes;

m_ErrorReport

private JSErrorReport m_ErrorReport;

m_GlobalObject

private JSObject* m_GlobalObject;

m_RunTime

private JSRuntime* m_RunTime;


Constructor Detail

ScriptingHost

public ScriptingHost();

~ScriptingHost

public ~ScriptingHost();


Method Detail

CallFunction

public jsval CallFunction( const std::string& functionName, jsval* params, int numParams );

CreateCustomObject

public JSObject* CreateCustomObject( const std::string& typeName );

DefineConstant

public void DefineConstant( const std::string& name, double value );

DefineConstant

public void DefineConstant( const std::string& name, int value );

DefineCustomObjectType

public void DefineCustomObjectType( JSClass* clasp, JSNative constructor, uintN minArgs, JSPropertySpec* ps, JSFunctionSpec* fs, JSPropertySpec* static_ps, JSFunctionSpec* static_fs );

ErrorReporter

public static void ErrorReporter( JSContext* context, const char* message, JSErrorReport* report );

ExecuteScript

public jsval ExecuteScript( const CStrW& script, const CStrW& calledFrom = CStrW( L"Console" ), JSObject* contextObject = NULL );

FinalShutdown

public static void FinalShutdown();

GetContext

public inline JSContext* GetContext();

getContext

public inline JSContext* getContext();

GetGlobal

public jsval GetGlobal( const std::string& globalName );

GetGlobalObject

public inline JSObject* GetGlobalObject();

GetObjectProperty

public jsval GetObjectProperty( JSObject* object, const std::string& propertyName );

GetObjectProperty_Double

public double GetObjectProperty_Double( JSObject* object, const char* propertyName );

jshook_function

private void* jshook_function( JSContext* cx, JSStackFrame* fp, JSBool before, JSBool* UNUSED( ok ), void* closure );

jshook_script

private void* jshook_script( JSContext* UNUSED( cx ), JSStackFrame* UNUSED( fp ), JSBool before, JSBool* UNUSED( ok ), void* closure );

RegisterFunction

public void RegisterFunction( const std::string& functionName, JSNative function, int numArgs );

RunMemScript

public void RunMemScript( const char* script, size_t size, const char* filename = 0, int line = 0, JSObject* globalObject = 0 );

RunScript

public void RunScript( const CStr& filename, JSObject* globalObject = 0 );

SetGlobal

public void SetGlobal( const std::string& globalName, jsval value );

SetObjectProperty

public void SetObjectProperty( JSObject* object, const std::string& propertyName, jsval value );

SetObjectProperty_Double

public void SetObjectProperty_Double( JSObject* object, const char* propertyName, double value );

UCStringToValue

public jsval UCStringToValue( const CStrW& str );

UTF16ToValue

public jsval UTF16ToValue( const utf16string& str );

ValueToBool

public bool ValueToBool( const jsval value );

ValueToDouble

public double ValueToDouble( const jsval value );

ValueToInt

public int ValueToInt( const jsval value );

ValueToString

public std::string ValueToString( const jsval value );

ValueToUCString

public CStrW ValueToUCString( const jsval value );

ValueToUTF16

public utf16string ValueToUTF16( const jsval value );

 Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
Generated on September 04, 2007 at 18:14
CppDoc v2.4.0
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD