Class.addProperty

Add a property with @name to @jsc_class. When the property value needs to be getted, @getter is called receiving the the class instance as first parameter and @user_data as last parameter. When the property value needs to be set, @setter is called receiving the the class instance as first parameter, followed by the value to be set and then @user_data as the last parameter. When the property is cleared in the #JSCClass context, @destroy_notify is called with @user_data as parameter.

Note that the value returned by @getter must be transfer full. In case of non-refcounted boxed types, you should use %G_TYPE_POINTER instead of the actual boxed #GType to ensure that the instance owned by #JSCClass is used. If you really want to return a new copy of the boxed type, use #JSC_TYPE_VALUE and return a #JSCValue created with jsc_value_new_object() that receives the copy as the instance parameter.

class Class
void
addProperty
(
string name
,,
GCallback getter
,
GCallback setter
,
void* userData
,
GDestroyNotify destroyNotify
)

Parameters

name string

the property name

propertyType GType

the #GType of the property value

getter GCallback

a #GCallback to be called to get the property value

setter GCallback

a #GCallback to be called to set the property value

userData void*

user data to pass to @getter and @setter

destroyNotify GDestroyNotify

destroy notifier for @user_data

Meta