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(*&#160;</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>(*&#160;</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(*&#160;</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