Method

WPEJavaScriptCoreClassadd_methodv

Declaration [src]

void
jsc_class_add_methodv (
  JSCClass* jsc_class,
  const char* name,
  GCallback callback,
  gpointer user_data,
  GDestroyNotify destroy_notify,
  GType return_type,
  guint n_parameters,
  GType* parameter_types
)

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 renamed to jsc_class_add_method() in language bindings

Parameters

name 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 GCallback
 

A GCallback to be called to invoke method name of jsc_class.

user_data gpointer
 

User data to pass to callback.

 The argument can be NULL.
 The data is owned by the caller of the function.
destroy_notify GDestroyNotify
 

Destroy notifier for user_data.

 The argument can be NULL.
return_type GType
 

The GType of the method return value, or G_TYPE_NONE if the method is void.

n_parameters guint
 

The number of parameter types to follow or 0 if the method doesn’t receive parameters.

parameter_types An array of GType
 

A list of GTypes, one for each parameter, or NULL.

 The argument can be NULL.
 The length of the array is specified in the n_parameters argument.
 The data is owned by the caller of the function.