Skip to main content

pxs_addobject

Function pxs_addobject 

Source
#[unsafe(no_mangle)]
pub extern "C" fn pxs_addobject( module_ptr: *mut pxs_Module, name: *const c_char, object_constructor: pxs_Func, opaque: pxs_Opaque, )
Expand description

Add a object to a Module.

This essentially makes it so that when constructing this Module, this object is instanced. This works by adding a public factory function with the type name. But the type name is mangled (_module_typename).

In Lua:

-- Let's say we have a object "Person"
local p = Person("Jordan", 23)
p:set_name("Jordan Castro")
local name = p:get_name()

-- Although you could also do
local p = Person("Jordan", 23)
p.set_name(p, "Jordan") -- You get the idea

In Python:

p = Person("Jordan", 23)
# use '.' instead of ':'
# etc

In JS the same as Python and Lua:

let p = Person("Jordan", 23);
// Same as Python
// etc