Constructor
JavaScriptCoreValuenew_array_buffer
since: 2.38
Declaration [src]
JSCValue*
jsc_value_new_array_buffer (
  JSCContext* context,
  gpointer data,
  gsize size,
  GDestroyNotify destroy_notify,
  gpointer user_data
)
Description [src]
Creates a new %ArrayBuffer from existing data in memory.
The data is not copied: while this allows sharing data with JavaScript
efficiently, the caller must ensure that the memory region remains valid
until the newly created object is released by JSC.
Optionally, a destroy_notify callback can be provided, which will be
invoked with user_data as parameter when the %ArrayBuffer object is
released. This is intended to be used for freeing resources related to
the memory region which contains the data:
|[!<— language=”C” —> GMappedFile f = g_mapped_file_new (file_path, TRUE, NULL); JSCValue value = jsc_value_new_array_buffer (context, g_mapped_file_get_contents (f), g_mapped_file_get_length (f), (GDestroyNotify) g_mapped_file_unref, f); ]|
Note that the user_data can be the same value as data:
|[!<— language=”C” —> void bytes = g_malloc0 (100); JSCValue value = jsc_value_new_array_buffer (context, bytes, 100, g_free, bytes); ]|
Available since: 2.38
Parameters
- context
- 
            Type: JSCContextA JSCContext.The data is owned by the caller of the function. 
- data
- 
            Type: gpointerPointer to a region of memory. The argument can be NULL.The data is owned by the caller of the function. 
- size
- 
            Type: gsizeSize in bytes of the memory region. 
- destroy_notify
- 
            Type: GDestroyNotifyDestroy notifier for user_data.The argument can be NULL.
- user_data
- 
            Type: gpointerUser data. The argument can be NULL.The data is owned by the caller of the function. 
Return value
Type: JSCValue
A JSCValue, or NULL in case of exception.
| The caller of the function takes ownership of the data, and is responsible for freeing it. | 
| The return value can be NULL. |