1 {{+bindTo:partials.standard_nacl_api}}
2 <h1>PPP_MessageHandler Struct Reference</h1>
4 {{- dummy div to appease doxygen -}}
6 <!-- Generated by Doxygen 1.7.6.1 -->
11 <div class="contents">
12 <!-- doxytag: class="PPP_MessageHandler" --><h2>
13 Data Fields</h2><table class="memberdecls">
15 <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___message_handler__0__1.html#ac7f5a2405b09e8ead88fc69e4ec22c0f">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
16 <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___message_handler__0__1.html#aa093e721f9a52578e5960baf857f3670">HandleBlockingMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td></tr>
17 <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___message_handler__0__1.html#a7e50798a34ce93c99b133574888bae80">Destroy</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data)</td></tr>
19 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
20 <div class="textblock"><p>The <code>PPP_MessageHandler</code> 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(). </p>
21 <p>This interface struct should not be returned by PPP_GetInterface; instead it must be passed as a parameter to PPB_Messaging::RegisterMessageHandler. </p>
22 </div><hr /><h2>Field Documentation</h2>
23 <a class="anchor" id="a7e50798a34ce93c99b133574888bae80"></a><!-- doxytag: member="PPP_MessageHandler::Destroy" ref="a7e50798a34ce93c99b133574888bae80" args=")(PP_Instance instance, void *user_data)" -->
25 <div class="memproto">
26 <table class="memname">
28 <td class="memname">void(* <a class="el" href="struct_p_p_p___message_handler__0__1.html#a7e50798a34ce93c99b133574888bae80">PPP_MessageHandler::Destroy</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data)</td>
33 <p>Invoked when the handler object is no longer needed. </p>
34 <p>After this, no more calls will be made which pass this same value for <code>instance</code> and <code>user_data</code>.</p>
35 <dl class="params"><dt><b>Parameters:</b></dt><dd>
36 <table class="params">
37 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
38 <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>is the same pointer which was provided by a call to RegisterMessageHandler. </td></tr>
44 <a class="anchor" id="aa093e721f9a52578e5960baf857f3670"></a><!-- doxytag: member="PPP_MessageHandler::HandleBlockingMessage" ref="aa093e721f9a52578e5960baf857f3670" args=")(PP_Instance instance, void *user_data, struct PP_Var message)" -->
46 <div class="memproto">
47 <table class="memname">
49 <td class="memname">struct <a class="el" href="struct_p_p___var.html">PP_Var</a>(* <a class="el" href="struct_p_p_p___message_handler__0__1.html#aa093e721f9a52578e5960baf857f3670">PPP_MessageHandler::HandleBlockingMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)<code> [read]</code></td>
54 <p>Invoked as a result of JavaScript invoking postMessageAndAwaitResponse() on the plugin's DOM element. </p>
55 <dl class="params"><dt><b>Parameters:</b></dt><dd>
56 <table class="params">
57 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
58 <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>is the same pointer which was provided by a call to RegisterMessageHandler. </td></tr>
59 <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>is a copy of the parameter that JavaScript provided to postMessageAndAwaitResponse. </td></tr>
63 <dl class="return"><dt><b>Returns:</b></dt><dd>will be copied to a JavaScript object which is returned as the result of postMessageAndAwaitResponse to the invoking JavaScript. </dd></dl>
66 <a class="anchor" id="ac7f5a2405b09e8ead88fc69e4ec22c0f"></a><!-- doxytag: member="PPP_MessageHandler::HandleMessage" ref="ac7f5a2405b09e8ead88fc69e4ec22c0f" args=")(PP_Instance instance, void *user_data, struct PP_Var message)" -->
68 <div class="memproto">
69 <table class="memname">
71 <td class="memname">void(* <a class="el" href="struct_p_p_p___message_handler__0__1.html#ac7f5a2405b09e8ead88fc69e4ec22c0f">PPP_MessageHandler::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td>
76 <p>Invoked as a result of JavaScript invoking postMessage() on the plugin's DOM element. </p>
77 <dl class="params"><dt><b>Parameters:</b></dt><dd>
78 <table class="params">
79 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module. </td></tr>
80 <tr><td class="paramdir">[in]</td><td class="paramname">user_data</td><td>is the same pointer which was provided by a call to RegisterMessageHandler. </td></tr>
81 <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A copy of the parameter that JavaScript provided to postMessage(). </td></tr>
87 <hr />The documentation for this struct was generated from the following file:<ul>
88 <li><a class="el" href="ppp__message__handler_8h.html">ppp_message_handler.h</a></li>
90 </div><!-- contents -->
92 {{/partials.standard_nacl_api}}