Pepper_56_C++_interfaces
Pepper_56_C++_interfaces
 All Classes Namespaces Files Functions Typedefs Enumerations Macros Groups
pp::VarArrayBuffer Class Reference

#include <var_array_buffer.h>

Inheritance diagram for pp::VarArrayBuffer:
pp::Var

Public Member Functions

 VarArrayBuffer ()
 
 VarArrayBuffer (const Var &var)
 
 VarArrayBuffer (uint32_t size_in_bytes)
 
 VarArrayBuffer (const VarArrayBuffer &buffer)
 Copy constructor.
 
VarArrayBufferoperator= (const VarArrayBuffer &other)
 
virtual Varoperator= (const Var &other)
 
uint32_t ByteLength () const
 
void * Map ()
 
void Unmap ()
 
- Public Member Functions inherited from pp::Var
 Var ()
 
 Var (Null)
 A constructor used to create a Var of type Null.
 
 Var (bool b)
 
 Var (int32_t i)
 
 Var (double d)
 
 Var (const char *utf8_str)
 A constructor used to create a UTF-8 character Var.
 
 Var (const std::string &utf8_str)
 A constructor used to create a UTF-8 character Var.
 
 Var (const pp::Resource &resource)
 A constructor used to create a resource Var.
 
 Var (PassRef, const PP_Var &var)
 
 Var (const PP_Var &var)
 A constructor that increments the reference count.
 
 Var (DontManage, const PP_Var &var)
 
 Var (const Var &other)
 A constructor for copying a Var.
 
virtual ~Var ()
 Destructor.
 
bool operator== (const Var &other) const
 
bool is_undefined () const
 
bool is_null () const
 
bool is_bool () const
 
bool is_string () const
 
bool is_object () const
 
bool is_array () const
 
bool is_dictionary () const
 
bool is_resource () const
 
bool is_int () const
 
bool is_double () const
 
bool is_number () const
 
bool is_array_buffer () const
 This function determines if this Var is an ArrayBuffer.
 
bool AsBool () const
 
int32_t AsInt () const
 
double AsDouble () const
 
std::string AsString () const
 
pp::Resource AsResource () const
 
const PP_Var & pp_var () const
 
PP_Var Detach ()
 
std::string DebugString () const
 

Additional Inherited Members

- Protected Attributes inherited from pp::Var
PP_Var var_
 
bool is_managed_
 

Detailed Description

VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes. 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 Instance.

Constructor & Destructor Documentation

pp::VarArrayBuffer::VarArrayBuffer ( )

The default constructor constructs a VarArrayBuffer which is 0 byte long.

pp::VarArrayBuffer::VarArrayBuffer ( const Var var)
explicit

Construct a VarArrayBuffer given a var for which is_array_buffer() is true. This will refer to the same ArrayBuffer as var, but allows you to access methods specific to VarArrayBuffer.

Parameters
[in]varAn ArrayBuffer var.
pp::VarArrayBuffer::VarArrayBuffer ( uint32_t  size_in_bytes)
explicit

Construct a new VarArrayBuffer which is size_in_bytes bytes long and initialized to zero.

Parameters
[in]size_in_bytesThe size of the constructed ArrayBuffer in bytes.

Member Function Documentation

uint32_t pp::VarArrayBuffer::ByteLength ( ) const

ByteLength() retrieves the length of the VarArrayBuffer in bytes.

Returns
The length of the VarArrayBuffer in bytes.
void* pp::VarArrayBuffer::Map ( )

Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of the internal buffer for this ArrayBuffer. 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:

char* data = static_cast<char*>(array_buffer_var.Map());
uint32_t byte_length = array_buffer_var.ByteLength();
for (uint32_t i = 0; i < byte_length; ++i)
data[i] = 'A';
Returns
A pointer to the internal buffer for this ArrayBuffer.
VarArrayBuffer& pp::VarArrayBuffer::operator= ( const VarArrayBuffer other)

This function assigns one VarArrayBuffer to another VarArrayBuffer.

Parameters
[in]otherThe VarArrayBuffer to be assigned.
Returns
The resulting VarArrayBuffer.
virtual Var& pp::VarArrayBuffer::operator= ( const Var other)
virtual

This function assigns one VarArrayBuffer to another VarArrayBuffer. A Var's assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a VarArrayBuffer.

Parameters
[in]otherThe VarArrayBuffer to be assigned.
Returns
The resulting VarArrayBuffer (as a Var&).

Reimplemented from pp::Var.

void pp::VarArrayBuffer::Unmap ( )

Unmap() unmaps this 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 documentation for this class was generated from the following file: