Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
MetaDataRef Class Referenceabstract

#include <l_metadata.h>

+ Inheritance diagram for MetaDataRef:
+ Collaboration diagram for MetaDataRef:

Public Member Functions

virtual ~MetaDataRef ()=default
 

Static Public Member Functions

static MetaDataRefcheckAnyMetadata (lua_State *L, int narg)
 
- Static Public Member Functions inherited from ModApiBase
static ScriptApiBasegetScriptApiBase (lua_State *L)
 
static ServergetServer (lua_State *L)
 
static ServerInventoryManagergetServerInventoryMgr (lua_State *L)
 
static EmergeThreadgetEmergeThread (lua_State *L)
 
static IGameDefgetGameDef (lua_State *L)
 
static EnvironmentgetEnv (lua_State *L)
 
static std::string getCurrentModPath (lua_State *L)
 
template<typename T >
static T * getScriptApi (lua_State *L)
 
static bool registerFunction (lua_State *L, const char *name, lua_CFunction func, int top)
 
static void registerClass (lua_State *L, const char *name, const luaL_Reg *methods, const luaL_Reg *metamethods)
 
template<typename T >
static T * checkObject (lua_State *L, int narg)
 
static int l_deprecated_function (lua_State *L, const char *good, const char *bad, lua_CFunction func)
 A wrapper for deprecated functions.
 

Protected Member Functions

virtual void reportMetadataChange (const std::string *name=nullptr)
 
virtual IMetadatagetmeta (bool auto_create)=0
 
virtual void clearMeta ()=0
 
virtual void handleToTable (lua_State *L, IMetadata *meta)
 
virtual bool handleFromTable (lua_State *L, int table, IMetadata *meta)
 
- Protected Member Functions inherited from LuaHelper
template<>
bool readParam (lua_State *L, int index)
 
template<>
s16 readParam (lua_State *L, int index)
 
template<>
int readParam (lua_State *L, int index)
 
template<>
float readParam (lua_State *L, int index)
 
template<>
v2s16 readParam (lua_State *L, int index)
 
template<>
v2f readParam (lua_State *L, int index)
 
template<>
v3f readParam (lua_State *L, int index)
 
template<>
std::string_view readParam (lua_State *L, int index)
 
template<>
std::string readParam (lua_State *L, int index)
 
template<>
std::string_view readParam (lua_State *L, int index)
 Read a string from Lua state L at index without copying it.
 

Static Protected Member Functions

static void registerMetadataClass (lua_State *L, const char *name, const luaL_Reg *methods)
 
static int gc_object (lua_State *L)
 
static int l_contains (lua_State *L)
 
static int l_get (lua_State *L)
 
static int l_get_string (lua_State *L)
 
static int l_set_string (lua_State *L)
 
static int l_get_int (lua_State *L)
 
static int l_set_int (lua_State *L)
 
static int l_get_float (lua_State *L)
 
static int l_set_float (lua_State *L)
 
static int l_get_keys (lua_State *L)
 
static int l_to_table (lua_State *L)
 
static int l_from_table (lua_State *L)
 
static int l_equals (lua_State *L)
 
- Static Protected Member Functions inherited from LuaHelper
template<typename T >
static T readParam (lua_State *L, int index)
 Read a value using a template type T from Lua state L at index.
 
template<typename T >
static T readParam (lua_State *L, int index, const T &default_value)
 Read a value using a template type T from Lua state L at index.
 

Constructor & Destructor Documentation

◆ ~MetaDataRef()

virtual MetaDataRef::~MetaDataRef ( )
virtualdefault

Member Function Documentation

◆ checkAnyMetadata()

MetaDataRef * MetaDataRef::checkAnyMetadata ( lua_State * L,
int narg )
static

Referenced by l_contains(), l_equals(), l_from_table(), l_get(), l_get_float(), l_get_int(), l_get_keys(), l_get_string(), l_set_float(), l_set_int(), l_set_string(), and l_to_table().

+ Here is the caller graph for this function:

◆ clearMeta()

virtual void MetaDataRef::clearMeta ( )
protectedpure virtual

Implemented in ItemStackMetaRef, NodeMetaRef, PlayerMetaRef, and StorageRef.

Referenced by l_from_table().

+ Here is the caller graph for this function:

◆ gc_object()

int MetaDataRef::gc_object ( lua_State * L)
staticprotected

Referenced by registerMetadataClass().

+ Here is the caller graph for this function:

◆ getmeta()

virtual IMetadata * MetaDataRef::getmeta ( bool auto_create)
protectedpure virtual

Implemented in ItemStackMetaRef, NodeMetaRef, PlayerMetaRef, and StorageRef.

Referenced by l_contains(), l_equals(), l_from_table(), l_get(), l_get_float(), l_get_int(), l_get_keys(), l_get_string(), l_set_float(), l_set_int(), l_set_string(), and l_to_table().

+ Here is the caller graph for this function:

◆ handleFromTable()

bool MetaDataRef::handleFromTable ( lua_State * L,
int table,
IMetadata * meta )
protectedvirtual

Reimplemented in NodeMetaRef.

References LuaHelper::readParam(), IMetadata::setString(), and table.

Referenced by NodeMetaRef::handleFromTable(), and l_from_table().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleToTable()

void MetaDataRef::handleToTable ( lua_State * L,
IMetadata * meta )
protectedvirtual

Reimplemented in NodeMetaRef.

References IMetadata::getStrings().

Referenced by NodeMetaRef::handleToTable(), and l_to_table().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ l_contains()

int MetaDataRef::l_contains ( lua_State * L)
staticprotected

References checkAnyMetadata(), IMetadata::contains(), getmeta(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ l_equals()

int MetaDataRef::l_equals ( lua_State * L)
staticprotected

References checkAnyMetadata(), and getmeta().

Referenced by registerMetadataClass().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ l_from_table()

int MetaDataRef::l_from_table ( lua_State * L)
staticprotected

References checkAnyMetadata(), clearMeta(), getmeta(), handleFromTable(), MAP_LOCK_REQUIRED, and reportMetadataChange().

+ Here is the call graph for this function:

◆ l_get()

int MetaDataRef::l_get ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), IMetadata::getStringToRef(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ l_get_float()

int MetaDataRef::l_get_float ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), IMetadata::getString(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ l_get_int()

int MetaDataRef::l_get_int ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), IMetadata::getString(), MAP_LOCK_REQUIRED, and stoi.

+ Here is the call graph for this function:

◆ l_get_keys()

int MetaDataRef::l_get_keys ( lua_State * L)
staticprotected

References checkAnyMetadata(), IMetadata::getKeys(), getmeta(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ l_get_string()

int MetaDataRef::l_get_string ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), IMetadata::getString(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ l_set_float()

int MetaDataRef::l_set_float ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), MAP_LOCK_REQUIRED, LuaHelper::readParam(), reportMetadataChange(), and IMetadata::setString().

+ Here is the call graph for this function:

◆ l_set_int()

int MetaDataRef::l_set_int ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), itos(), MAP_LOCK_REQUIRED, reportMetadataChange(), and IMetadata::setString().

+ Here is the call graph for this function:

◆ l_set_string()

int MetaDataRef::l_set_string ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), log_deprecated(), MAP_LOCK_REQUIRED, LuaHelper::readParam(), reportMetadataChange(), and IMetadata::setString().

+ Here is the call graph for this function:

◆ l_to_table()

int MetaDataRef::l_to_table ( lua_State * L)
staticprotected

References checkAnyMetadata(), getmeta(), handleToTable(), and MAP_LOCK_REQUIRED.

+ Here is the call graph for this function:

◆ registerMetadataClass()

void MetaDataRef::registerMetadataClass ( lua_State * L,
const char * name,
const luaL_Reg * methods )
staticprotected

References gc_object(), l_equals(), and ModApiBase::registerClass().

Referenced by ItemStackMetaRef::Register(), NodeMetaRef::Register(), PlayerMetaRef::Register(), StorageRef::Register(), and NodeMetaRef::RegisterClient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reportMetadataChange()

virtual void MetaDataRef::reportMetadataChange ( const std::string * name = nullptr)
inlineprotectedvirtual

Reimplemented in ItemStackMetaRef, NodeMetaRef, and PlayerMetaRef.

Referenced by l_from_table(), l_set_float(), l_set_int(), and l_set_string().

+ Here is the caller graph for this function:

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