λ61
Loading...
Searching...
No Matches
l61::ScriptEngine::ScriptEnvironment Class Reference

#include <ScriptEnvironment.hpp>

Inheritance diagram for l61::ScriptEngine::ScriptEnvironment:
l61::Object l61::ScriptEngine::FileBackedScriptEnvironment l61::ScriptEngine::RunnableScriptEnvironment l61::ScriptEngine::BuildScript

Public Member Functions

template<class T>
void addValue (const std::string &key, T &&value)
template<class T>
getValue (const std::string &key)
template<class T>
void setValue (const std::string &key, const T &value)
bool has (const std::string &key)
sol::table makeTable (const std::string &name)
 ScriptEnvironment (const ScriptEnvironment &)=delete
 ScriptEnvironment (ScriptEnvironment &&)=delete
ScriptEnvironmentoperator= (const ScriptEnvironment &)=delete
void specialRun (const std::function< void(sol::state &)> &func) override
void exec (const std::string &code) final
 for user input
void attachDebugger (AbstractScriptDebugger *debugger) override
sol::protected_function_result runCodeBlock (const std::string &luaCode) override
 ~ScriptEnvironment () override
Public Member Functions inherited from l61::Object
virtual ~Object ()=default
virtual std::string toString () const
 Returns a human-readable string representation of the object.
virtual std::size_t hashCode () const
 Returns a hash code for the object.
std::string typeName () const
 Returns the demangled name of the type.
const std::type_info & typeInfo () const
 Returns RTTI type information object.
virtual nlohmann::json toJsonValue () const
 Serializes the object into JSON form.
 operator std::string () const
 Explicit conversion operator to std::string.
 operator nlohmann::json () const
 Explicit conversion operator to nlohmann::json.

Protected Member Functions

void lib61_setup ()
sol::state & getLuaCtx () override
l61_statgetScriptCtx ()
 ScriptEnvironment (l61_stat &scriptCtx)

Static Protected Member Functions

static sol::table lua_mountLib (sol::this_state state, const std::string &libraryName)

Private Attributes

l61_statscriptCtx
sol::state luaCtx
AbstractScriptDebuggerscript_debugger_

Friends

l61_abstract_class AbstractScriptDebugger
void standard_lua_debugger_hook (lua_State *L, lua_Debug *D)

Constructor & Destructor Documentation

◆ ScriptEnvironment() [1/3]

l61::ScriptEngine::ScriptEnvironment::ScriptEnvironment ( l61_stat & scriptCtx)
explicitprotected

◆ ScriptEnvironment() [2/3]

l61::ScriptEngine::ScriptEnvironment::ScriptEnvironment ( const ScriptEnvironment & )
delete

◆ ScriptEnvironment() [3/3]

l61::ScriptEngine::ScriptEnvironment::ScriptEnvironment ( ScriptEnvironment && )
delete

◆ ~ScriptEnvironment()

l61::ScriptEngine::ScriptEnvironment::~ScriptEnvironment ( )
overridedefault

Member Function Documentation

◆ addValue()

template<class T>
void l61::ScriptEngine::ScriptEnvironment::addValue ( const std::string & key,
T && value )
inline

◆ attachDebugger()

void l61::ScriptEngine::ScriptEnvironment::attachDebugger ( AbstractScriptDebugger * debugger)
override

◆ exec()

void l61::ScriptEngine::ScriptEnvironment::exec ( const std::string & code)
final

for user input

Parameters
codelua code

◆ getLuaCtx()

sol::state & l61::ScriptEngine::ScriptEnvironment::getLuaCtx ( )
overrideprotected

◆ getScriptCtx()

l61_stat & l61::ScriptEngine::ScriptEnvironment::getScriptCtx ( )
protected

◆ getValue()

template<class T>
T l61::ScriptEngine::ScriptEnvironment::getValue ( const std::string & key)
inline

◆ has()

bool l61::ScriptEngine::ScriptEnvironment::has ( const std::string & key)

◆ lib61_setup()

void l61::ScriptEngine::ScriptEnvironment::lib61_setup ( )
protected

◆ lua_mountLib()

sol::table l61::ScriptEngine::ScriptEnvironment::lua_mountLib ( sol::this_state state,
const std::string & libraryName )
staticprotected

◆ makeTable()

sol::table l61::ScriptEngine::ScriptEnvironment::makeTable ( const std::string & name)

◆ operator=()

ScriptEnvironment & l61::ScriptEngine::ScriptEnvironment::operator= ( const ScriptEnvironment & )
delete

◆ runCodeBlock()

sol::protected_function_result l61::ScriptEngine::ScriptEnvironment::runCodeBlock ( const std::string & luaCode)
override

◆ setValue()

template<class T>
void l61::ScriptEngine::ScriptEnvironment::setValue ( const std::string & key,
const T & value )
inline

◆ specialRun()

void l61::ScriptEngine::ScriptEnvironment::specialRun ( const std::function< void(sol::state &)> & func)
override

◆ AbstractScriptDebugger

friend l61_abstract_class AbstractScriptDebugger
friend

◆ standard_lua_debugger_hook

void standard_lua_debugger_hook ( lua_State * L,
lua_Debug * D )
friend

Member Data Documentation

◆ luaCtx

sol::state l61::ScriptEngine::ScriptEnvironment::luaCtx
private

◆ script_debugger_

AbstractScriptDebugger* l61::ScriptEngine::ScriptEnvironment::script_debugger_
private

◆ scriptCtx

l61_stat& l61::ScriptEngine::ScriptEnvironment::scriptCtx
private

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