PPP_MessageHandler Struct Reference

Data Fields

void(* HandleMessage )(PP_Instance instance, void *user_data, const struct PP_Var *message)
void(* HandleBlockingMessage )(PP_Instance instance, void *user_data, const struct PP_Var *message, struct PP_Var *response)
void(* Destroy )(PP_Instance instance, void *user_data)

Detailed Description

The PPP_MessageHandler interface is implemented by the plugin if the plugin wants to receive messages from a thread other than the main Pepper thread, or if the plugin wants to handle blocking messages which JavaScript may send via postMessageAndAwaitResponse().

This interface struct should not be returned by PPP_GetInterface; instead it must be passed as a parameter to PPB_Messaging::RegisterMessageHandler.


Field Documentation

void(* PPP_MessageHandler::Destroy)(PP_Instance instance, void *user_data)

Invoked when the handler object is no longer needed.

After this, no more calls will be made which pass this same value for instance and user_data.

Parameters:
[in]instanceA PP_Instance identifying one instance of a module.
[in]user_datais the same pointer which was provided by a call to RegisterMessageHandler.
void(* PPP_MessageHandler::HandleBlockingMessage)(PP_Instance instance, void *user_data, const struct PP_Var *message, struct PP_Var *response)

Invoked as a result of JavaScript invoking postMessageAndAwaitResponse() on the plugin's DOM element.

NOTE: JavaScript execution is blocked during the duration of this call. Hence, the plugin should respond as quickly as possible. For this reason, blocking completion callbacks are disallowed while handling a blocking message.

Parameters:
[in]instanceA PP_Instance identifying one instance of a module.
[in]user_datais the same pointer which was provided by a call to RegisterMessageHandler().
[in]messageis a copy of the parameter that JavaScript provided to postMessageAndAwaitResponse().
[out]responsewill be copied to a JavaScript object which is returned as the result of postMessageAndAwaitResponse() to the invoking
void(* PPP_MessageHandler::HandleMessage)(PP_Instance instance, void *user_data, const struct PP_Var *message)

Invoked as a result of JavaScript invoking postMessage() on the plugin's DOM element.

Parameters:
[in]instanceA PP_Instance identifying one instance of a module.
[in]user_datais the same pointer which was provided by a call to RegisterMessageHandler().
[in]messageA copy of the parameter that JavaScript provided to postMessage().

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