Define or modify a property with property_name in object referenced by this.
When the property value is read or set, getter and setter callbacks will be called. When the property is
cleared in the Class context, destroy_notify is called with user_data
as parameter. This is equivalent to JavaScript <function>Object.defineProperty()</function> when used with an accessor
descriptor.
Note that the value returned by getter must be fully transferred. In case of boxed types, you could use
g_type_pointer instead of the actual boxed Type
to ensure that the instance owned by Class is used. If you really want to return a new
copy of the boxed type, use JSC_TYPE_VALUE and return a Value created with
Value.object that receives the copy as instance parameter.
Note that getter and setter are called as functions and not methods, so they don't receive an instance as first
parameter. Use add_property if you want to add property accessor invoked as a
method.
| this |
a Value |
| property_name |
the name of the property to define |
| flags | |
| property_type |
the Type of the property |
| getter |
a ClassSetPropertyCb to be called to get the property value |
| setter |
a ClassSetPropertyCb to be called to set the property value |
| destroy_notify |
destroy notifier for |
| user_data |
user data to pass to |