Native Client

PP_ArrayOutput Struct Reference

A structure that defines a way for the browser to return arrays of data to the plugin. More...


Detailed Description

A structure that defines a way for the browser to return arrays of data to the plugin.

The browser can not allocate memory on behalf of the plugin because the plugin and browser may have different allocators.

Array output works by having the browser call to the plugin to allocate a buffer, and then the browser will copy the contents of the array into that buffer.

In C, you would typically implement this as follows:

 struct MyArrayOutput {
   void* data;
   int element_count;
 };
 void* MyGetDataBuffer(void* user_data, uint32_t count, uint32_t size) {
   MyArrayOutput* output = (MyArrayOutput*)user_data;
   output->element_count = count;
   if (size) {
     output->data = malloc(count * size);
     if (!output->data)  // Be careful to set size properly on malloc failure.
       output->element_count = 0;
   } else {
     output->data = NULL;
   }
   return output->data;
 }
 void MyFunction() {
   MyArrayOutput array = { NULL, 0 };
   PP_ArrayOutput output = { &MyGetDataBuffer, &array };
   ppb_foo->GetData(&output);
 }

Data Fields List

PP_ArrayOutput_GetDataBuffer GetDataBuffer
void * user_data

Data Fields Details

A pointer to the allocation function that the browser implements.

Data that is passed to the allocation function.

Typically, this is used to communicate how the data should be stored.


The documentation for this struct was generated from the following file:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.