Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / doc_generated / pepper_beta / c / struct_p_p_p___message_handler__0__2.html
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>
13 Data 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__2.html#ab8b6b045541790d1d0ca862d0a225f27">HandleMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, const 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">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_p___message_handler__0__2.html#aca37a8a59cb6a0b9be2846a2ab3e2828">HandleBlockingMessage</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *response)</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__2.html#a0804b4fbaab3b6abedd888e96107fd4d">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 <a class="el" href="struct_p_p_b___messaging__1__2.html#ae5abee73dc21a290514f7f3554a7e895" title="Registers a handler for receiving messages from JavaScript.">PPB_Messaging::RegisterMessageHandler</a>. </p>
22 </div><hr /><h2>Field Documentation</h2>
23 <a class="anchor" id="a0804b4fbaab3b6abedd888e96107fd4d"></a><!-- doxytag: member="PPP_MessageHandler::Destroy" ref="a0804b4fbaab3b6abedd888e96107fd4d" 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__2.html#a0804b4fbaab3b6abedd888e96107fd4d">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="aca37a8a59cb6a0b9be2846a2ab3e2828"></a><!-- doxytag: member="PPP_MessageHandler::HandleBlockingMessage" ref="aca37a8a59cb6a0b9be2846a2ab3e2828" args=")(PP_Instance instance, void *user_data, const struct PP_Var *message, struct PP_Var *response)" -->
45 <div class="memitem">
46 <div class="memproto">
47 <table class="memname">
48 <tr>
49 <td class="memname">void(* <a class="el" href="struct_p_p_p___message_handler__0__2.html#aca37a8a59cb6a0b9be2846a2ab3e2828">PPP_MessageHandler::HandleBlockingMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message, struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *response)</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 <p>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.</p>
56 <dl class="params"><dt><b>Parameters:</b></dt><dd>
57 <table class="params">
58 <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>
59 <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>
60 <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>
61 <tr><td class="paramdir">[out]</td><td class="paramname">response</td><td>will be copied to a JavaScript object which is returned as the result of postMessageAndAwaitResponse() to the invoking </td></tr>
62 </table>
63 </dd>
64 </dl>
65 </div>
66 </div>
67 <a class="anchor" id="ab8b6b045541790d1d0ca862d0a225f27"></a><!-- doxytag: member="PPP_MessageHandler::HandleMessage" ref="ab8b6b045541790d1d0ca862d0a225f27" args=")(PP_Instance instance, void *user_data, const struct PP_Var *message)" -->
68 <div class="memitem">
69 <div class="memproto">
70 <table class="memname">
71 <tr>
72 <td class="memname">void(* <a class="el" href="struct_p_p_p___message_handler__0__2.html#ab8b6b045541790d1d0ca862d0a225f27">PPP_MessageHandler::HandleMessage</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance, void *user_data, const struct <a class="el" href="struct_p_p___var.html">PP_Var</a> *message)</td>
73 </tr>
74 </table>
75 </div>
76 <div class="memdoc">
77 <p>Invoked as a result of JavaScript invoking postMessage() on the plugin's DOM element. </p>
78 <dl class="params"><dt><b>Parameters:</b></dt><dd>
79 <table class="params">
80 <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>
81 <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>
82 <tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>A copy of the parameter that JavaScript provided to postMessage(). </td></tr>
83 </table>
84 </dd>
85 </dl>
86 </div>
87 </div>
88 <hr />The documentation for this struct was generated from the following file:<ul>
89 <li><a class="el" href="ppp__message__handler_8h.html">ppp_message_handler.h</a></li>
90 </ul>
91 </div><!-- contents -->
92 </div>
93 {{/partials.standard_nacl_api}}