Value.newArrayBuffer

javascriptcore.value.Value newArrayBuffer(javascriptcore.context.Context context, void * data, size_t size, glib.types.DestroyNotify destroyNotify = null)

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); CODEBLOCK0!<-- language="C" --> void *bytes = g_malloc0 (100); JSCValue *value = jsc_value_new_array_buffer (context, bytes, 100, g_free, bytes); ``

Parameters

contextA #JSCContext
dataPointer to a region of memory.
sizeSize in bytes of the memory region.
destroyNotifydestroy notifier for user_data.

Returns

A #JSCValue, or null in case of exception.