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 RegisterRuntime (const JSRuntime *rt)
 
void UnRegisterRuntime (const JSRuntime *rt)
 
- Public Member Functions inherited from Singleton< ScriptEngine >
 Singleton ()
 
 ~Singleton ()
 

Private Attributes

std::list< const JSRuntime * > m_Runtimes
 

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 runtimes in order to validate the following constraints:

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

Constructor & Destructor Documentation

ScriptEngine::ScriptEngine ( )
inline
ScriptEngine::~ScriptEngine ( )
inline

Member Function Documentation

void ScriptEngine::RegisterRuntime ( const JSRuntime *  rt)
inline
void ScriptEngine::UnRegisterRuntime ( const JSRuntime *  rt)
inline

Member Data Documentation

std::list<const JSRuntime*> ScriptEngine::m_Runtimes
private

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