Pyrogenesis  trunk
Public Member Functions | Private Attributes | List of all members
ScriptEngine Class Reference

A class using the RAII (Resource Acquisition Is Initialization) idiom to manage initialization and shutdown of the SpiderMonkey script engine. More...

#include <ScriptEngine.h>

Inheritance diagram for ScriptEngine:
Inheritance graph
[legend]
Collaboration diagram for ScriptEngine:
Collaboration graph
[legend]

Public Member Functions

 ScriptEngine ()
 
 ~ScriptEngine ()
 
void RegisterContext (const JSContext *cx)
 
void UnRegisterContext (const JSContext *cx)
 
- Public Member Functions inherited from Singleton< ScriptEngine >
 Singleton ()
 
 ~Singleton ()
 

Private Attributes

std::list< const JSContext * > m_Contexts
 

Additional Inherited Members

- Static Public Member Functions inherited from Singleton< ScriptEngine >
static ScriptEngineGetSingleton ()
 
static ScriptEngineGetSingletonPtr ()
 
static bool IsInitialised ()
 

Detailed Description

A class using the RAII (Resource Acquisition Is Initialization) idiom to manage initialization and shutdown of the SpiderMonkey script engine.

It also keeps a count of active script contexts in order to validate the following constraints:

  1. JS_Init must be called before any ScriptContexts are initialized
  2. JS_Shutdown must be called after all ScriptContexts have been destroyed

Constructor & Destructor Documentation

◆ ScriptEngine()

ScriptEngine::ScriptEngine ( )
inline

◆ ~ScriptEngine()

ScriptEngine::~ScriptEngine ( )
inline

Member Function Documentation

◆ RegisterContext()

void ScriptEngine::RegisterContext ( const JSContext *  cx)
inline

◆ UnRegisterContext()

void ScriptEngine::UnRegisterContext ( const JSContext *  cx)
inline

Member Data Documentation

◆ m_Contexts

std::list<const JSContext*> ScriptEngine::m_Contexts
private

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