Method
JavaScriptCoreClassadd_method
Declaration [src]
void
jsc_class_add_method (
JSCClass* jsc_class,
const char* name,
GCallback callback,
gpointer user_data,
GDestroyNotify destroy_notify,
GType return_type,
guint n_params,
...
)
Description [src]
Add method with name
to jsc_class
. When the method is called by JavaScript or jsc_value_object_invoke_method(),
callback
is called receiving the class instance as first parameter, followed by the method parameters and then
user_data
as last parameter. When the method is cleared in the JSCClass
context, destroy_notify
is called with
user_data
as parameter.
Note that the value returned by callback
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.
This method is not directly available to language bindings.
The implementation of this method is provided by jsc_class_add_methodv()
in language bindings
Parameters
name
-
Type:
const char*
The method name.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. callback
-
Type:
GCallback
A
GCallback
to be called to invoke methodname
ofjsc_class
. user_data
-
Type:
gpointer
User data to pass to
callback
.The argument can be NULL
.The data is owned by the caller of the function. destroy_notify
-
Type:
GDestroyNotify
Destroy notifier for
user_data
.The argument can be NULL
. return_type
-
Type:
GType
The
GType
of the method return value, orG_TYPE_NONE
if the method is void. n_params
-
Type:
guint
The number of parameter types to follow or 0 if the method doesn’t receive parameters.
...
-
Type:
A list of
GType
s, one for each parameter.