Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::JavaScriptEngine Class Reference

#include <JavaScriptKit.h>

Inheritance diagram for VCF::JavaScriptEngine:

VCF::Object List of all members.

Public Member Functions

 JavaScriptEngine ()
virtual ~JavaScriptEngine ()
void executeScript (const String &script)
void executeScriptFromFile (const String &fileName)
void updateFromClassRegistry ()
void defineGlobalObject (Object *object)
 defines a globals instance of an object

Static Public Member Functions

static JavaScriptEngineengine ()
static void initialize ()
static void terminate ()
static void invokeEventhandler (Event *e, JSFunction *function, const VCF::String &functionName)

Public Attributes

VCF::Delegate JavaScriptDelegate
 ScriptExecuting
 ErrorOccurred

Protected Types

typedef std::map< String,
ClassEntry
ClassMap
typedef std::map< JSObject *,
ObjectInstanceEntry
InstanceMap
typedef std::map< JSObject *,
Delegate * > 
DelegateMap
typedef std::multimap< Delegate *,
EventHandler * > 
EventHandlerMap
typedef std::pair< EventHandlerMap::iterator,
EventHandlerMap::iterator > 
EventHandlerMapRange

Protected Member Functions

void internal_executeScript (const String &script, const String &fileName)
bool assignJSValToVariant (jsval *vp, VariantData *vd)
bool assignVariantToJSVal (VariantData *vd, jsval *vp)
void initVCFGlobalClasses ()
JSObject * newObjectFromVCFEvent (VCF::Event *e)

Static Protected Member Functions

static JSBool methodCall (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
static JSBool getObjProperty (JSContext *cx, JSObject *obj, jsval id, jsval *vp)
static JSBool setObjProperty (JSContext *cx, JSObject *obj, jsval id, jsval *vp)
static JSBool enumerate (JSContext *cx, JSObject *obj)
static JSBool resolve (JSContext *cx, JSObject *obj, jsval id)
static void finalize (JSContext *cx, JSObject *obj)
static JSBool constructor (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
static void rawErrorReporter (JSContext *cx, const char *message, JSErrorReport *report)

Protected Attributes

JSVersion m_version
JSRuntime * m_runTime
JSContext * m_context
JSObject * m_global
JSClass * m_globalClass
JSClass * globalDelegateClass_
ClassEntry globalEventClass_
ClassMap m_jsClassMap
InstanceMap m_jsObjectInstances
DelegateMap jsDelegateInstances_
EventHandlerMap jsEventHandlers_
std::vector< char * > names_

Static Protected Attributes

static JavaScriptEnginesingleton

Classes

class  ClassEntry
class  ObjectInstanceEntry

Member Typedef Documentation

typedef std::map<String,ClassEntry> VCF::JavaScriptEngine::ClassMap [protected]
 

typedef std::map<JSObject*,Delegate*> VCF::JavaScriptEngine::DelegateMap [protected]
 

typedef std::multimap<Delegate*,EventHandler*> VCF::JavaScriptEngine::EventHandlerMap [protected]
 

typedef std::pair<EventHandlerMap::iterator, EventHandlerMap::iterator> VCF::JavaScriptEngine::EventHandlerMapRange [protected]
 

typedef std::map<JSObject*,ObjectInstanceEntry> VCF::JavaScriptEngine::InstanceMap [protected]
 


Constructor & Destructor Documentation

VCF::JavaScriptEngine::JavaScriptEngine  ) 
 

virtual VCF::JavaScriptEngine::~JavaScriptEngine  )  [virtual]
 


Member Function Documentation

bool VCF::JavaScriptEngine::assignJSValToVariant jsval *  vp,
VariantData vd
[protected]
 

bool VCF::JavaScriptEngine::assignVariantToJSVal VariantData vd,
jsval *  vp
[protected]
 

static JSBool VCF::JavaScriptEngine::constructor JSContext *  cx,
JSObject *  obj,
uintN  argc,
jsval *  argv,
jsval *  rval
[static, protected]
 

void VCF::JavaScriptEngine::defineGlobalObject Object object  ) 
 

defines a globals instance of an object

static JavaScriptEngine& VCF::JavaScriptEngine::engine  )  [static]
 

static JSBool VCF::JavaScriptEngine::enumerate JSContext *  cx,
JSObject *  obj
[static, protected]
 

void VCF::JavaScriptEngine::executeScript const String script  ) 
 

void VCF::JavaScriptEngine::executeScriptFromFile const String fileName  ) 
 

static void VCF::JavaScriptEngine::finalize JSContext *  cx,
JSObject *  obj
[static, protected]
 

static JSBool VCF::JavaScriptEngine::getObjProperty JSContext *  cx,
JSObject *  obj,
jsval  id,
jsval *  vp
[static, protected]
 

static void VCF::JavaScriptEngine::initialize  )  [static]
 

void VCF::JavaScriptEngine::initVCFGlobalClasses  )  [protected]
 

void VCF::JavaScriptEngine::internal_executeScript const String script,
const String fileName
[protected]
 

static void VCF::JavaScriptEngine::invokeEventhandler Event e,
JSFunction *  function,
const VCF::String functionName
[static]
 

static JSBool VCF::JavaScriptEngine::methodCall JSContext *  cx,
JSObject *  obj,
uintN  argc,
jsval *  argv,
jsval *  rval
[static, protected]
 

JSObject* VCF::JavaScriptEngine::newObjectFromVCFEvent VCF::Event e  )  [protected]
 

static void VCF::JavaScriptEngine::rawErrorReporter JSContext *  cx,
const char *  message,
JSErrorReport *  report
[static, protected]
 

static JSBool VCF::JavaScriptEngine::resolve JSContext *  cx,
JSObject *  obj,
jsval  id
[static, protected]
 

static JSBool VCF::JavaScriptEngine::setObjProperty JSContext *  cx,
JSObject *  obj,
jsval  id,
jsval *  vp
[static, protected]
 

static void VCF::JavaScriptEngine::terminate  )  [static]
 

void VCF::JavaScriptEngine::updateFromClassRegistry  ) 
 


Member Data Documentation

VCF::JavaScriptEngine::ErrorOccurred
 

JSClass* VCF::JavaScriptEngine::globalDelegateClass_ [protected]
 

ClassEntry VCF::JavaScriptEngine::globalEventClass_ [protected]
 

VCF::Delegate VCF::JavaScriptEngine::JavaScriptDelegate
 

DelegateMap VCF::JavaScriptEngine::jsDelegateInstances_ [protected]
 

EventHandlerMap VCF::JavaScriptEngine::jsEventHandlers_ [protected]
 

JSContext* VCF::JavaScriptEngine::m_context [protected]
 

JSObject* VCF::JavaScriptEngine::m_global [protected]
 

JSClass* VCF::JavaScriptEngine::m_globalClass [protected]
 

ClassMap VCF::JavaScriptEngine::m_jsClassMap [protected]
 

InstanceMap VCF::JavaScriptEngine::m_jsObjectInstances [protected]
 

JSRuntime* VCF::JavaScriptEngine::m_runTime [protected]
 

JSVersion VCF::JavaScriptEngine::m_version [protected]
 

std::vector<char*> VCF::JavaScriptEngine::names_ [protected]
 

VCF::JavaScriptEngine::ScriptExecuting
 

JavaScriptEngine* VCF::JavaScriptEngine::singleton [static, protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information