struct_p_p_p___message_handler__0__1.html revision f8ee788a64d60abd8f2d742a5fdedde054ecd910
1{{+bindTo:partials.standard_nacl_api}} 2<h1>PPP_MessageHandler Struct Reference</h1> 3<div id="doxygen-ref"> 4{{- dummy div to appease doxygen -}} 5 <div> 6<!-- Generated by Doxygen 1.7.6.1 --> 7 8 9</div> 10<!--header--> 11<div class="contents"> 12<!-- doxytag: class="PPP_MessageHandler" --><h2> 13Data Fields</h2><table class="memberdecls"> 14 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#a04ac28ad7fee7edfc03b6dd5396d8c8b">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const 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> 18</table> 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)" --> 24<div class="memitem"> 25<div class="memproto"> 26<table class="memname"> 27<tr> 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> 29</tr> 30</table> 31</div> 32<div class="memdoc"> 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> 39</table> 40</dd> 41</dl> 42</div> 43</div> 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)" --> 45<div class="memitem"> 46<div class="memproto"> 47<table class="memname"> 48<tr> 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> 50</tr> 51</table> 52</div> 53<div class="memdoc"> 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> 60</table> 61</dd> 62</dl> 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> 64</div> 65</div> 66<a class="anchor" id="a04ac28ad7fee7edfc03b6dd5396d8c8b"></a><!-- doxytag: member="PPP_MessageHandler::HandleMessage" ref="a04ac28ad7fee7edfc03b6dd5396d8c8b" args=")(PP_Instance instance, const void *user_data, struct PP_Var message)" --> 67<div class="memitem"> 68<div class="memproto"> 69<table class="memname"> 70<tr> 71<td class="memname">void(* <a class="el" href="struct_p_p_p___message_handler__0__1.html#a04ac28ad7fee7edfc03b6dd5396d8c8b">PPP_MessageHandler::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, const void *user_data, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> message)</td> 72</tr> 73</table> 74</div> 75<div class="memdoc"> 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> 82</table> 83</dd> 84</dl> 85</div> 86</div> 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> 89</ul> 90</div><!-- contents --> 91</div> 92{{/partials.standard_nacl_api}} 93