Pepper_31_C_interfaces
|
#include <ppb_var_array_buffer.h>
Public Attributes | |
struct PP_Var(* | Create )(uint32_t size_in_bytes) |
PP_Bool(* | ByteLength )(struct PP_Var array, uint32_t *byte_length) |
void *(* | Map )(struct PP_Var array) |
void(* | Unmap )(struct PP_Var array) |
The PPB_VarArrayBuffer
interface provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. Use PPB_Var
to manage the reference count for a VarArrayBuffer
. Note that these Vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the PostMessage
and HandleMessage
functions of pp::Instance
.
Definition at line 39 of file ppb_var_array_buffer.h.
ByteLength() retrieves the length of the VarArrayBuffer
in bytes. On success, byte_length
is set to the length of the given ArrayBuffer
var. On failure, byte_length
is unchanged (this could happen, for instance, if the given PP_Var
is not of type PP_VARTYPE_ARRAY_BUFFER
). Note that ByteLength() will successfully retrieve the size of an ArrayBuffer
even if the ArrayBuffer
is not currently mapped.
[in] | array | The ArrayBuffer whose length should be returned. |
[out] | byte_length | A variable which is set to the length of the given ArrayBuffer on success. |
PP_TRUE
on success, PP_FALSE
on failure. Definition at line 68 of file ppb_var_array_buffer.h.
struct PP_Var(* PPB_VarArrayBuffer_1_0::Create)(uint32_t size_in_bytes) |
Create() creates a zero-initialized VarArrayBuffer
.
[in] | size_in_bytes | The size of the ArrayBuffer to be created. |
PP_Var
representing a VarArrayBuffer
of the requested size and with a reference count of 1. Definition at line 49 of file ppb_var_array_buffer.h.
void*(* PPB_VarArrayBuffer_1_0::Map)(struct PP_Var array) |
Map() maps the ArrayBuffer
in to the module's address space and returns a pointer to the beginning of the buffer for the given ArrayBuffer PP_Var
. ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.
Note that calling Map() can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an ArrayBuffer
.
Example:
[in] | array | The ArrayBuffer whose internal buffer should be returned. |
ArrayBuffer
. Returns NULL
if the given PP_Var
is not of type PP_VARTYPE_ARRAY_BUFFER
. Definition at line 100 of file ppb_var_array_buffer.h.
void(* PPB_VarArrayBuffer_1_0::Unmap)(struct PP_Var array) |
Unmap() unmaps the given ArrayBuffer
var from the module address space. Use this if you want to save memory but might want to call Map() to map the buffer again later. The PP_Var
remains valid and should still be released using PPB_Var
when you are done with the ArrayBuffer
.
[in] | array | The ArrayBuffer to be released. |
Definition at line 110 of file ppb_var_array_buffer.h.