OLD | NEW |
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
4 */ | 4 */ |
5 | 5 |
6 /* From dev/ppb_websocket_dev.idl modified Fri Jan 27 10:09:34 2012. */ | 6 /* From ppb_websocket.idl modified Fri Jan 27 15:51:19 2012. */ |
7 | 7 |
8 #ifndef PPAPI_C_DEV_PPB_WEBSOCKET_DEV_H_ | 8 #ifndef PPAPI_C_PPB_WEBSOCKET_H_ |
9 #define PPAPI_C_DEV_PPB_WEBSOCKET_DEV_H_ | 9 #define PPAPI_C_PPB_WEBSOCKET_H_ |
10 | 10 |
11 #include "ppapi/c/pp_bool.h" | 11 #include "ppapi/c/pp_bool.h" |
12 #include "ppapi/c/pp_completion_callback.h" | 12 #include "ppapi/c/pp_completion_callback.h" |
13 #include "ppapi/c/pp_instance.h" | 13 #include "ppapi/c/pp_instance.h" |
14 #include "ppapi/c/pp_macros.h" | 14 #include "ppapi/c/pp_macros.h" |
15 #include "ppapi/c/pp_resource.h" | 15 #include "ppapi/c/pp_resource.h" |
16 #include "ppapi/c/pp_stdint.h" | 16 #include "ppapi/c/pp_stdint.h" |
17 #include "ppapi/c/pp_var.h" | 17 #include "ppapi/c/pp_var.h" |
18 | 18 |
19 #define PPB_WEBSOCKET_DEV_INTERFACE_0_1 "PPB_WebSocket(Dev);0.1" | 19 #define PPB_WEBSOCKET_INTERFACE_1_0 "PPB_WebSocket;1.0" |
20 #define PPB_WEBSOCKET_DEV_INTERFACE PPB_WEBSOCKET_DEV_INTERFACE_0_1 | 20 #define PPB_WEBSOCKET_INTERFACE PPB_WEBSOCKET_INTERFACE_1_0 |
21 | 21 |
22 /** | 22 /** |
23 * @file | 23 * @file |
24 * This file defines the <code>PPB_WebSocket_Dev</code> interface. | 24 * This file defines the <code>PPB_WebSocket</code> interface. |
25 */ | 25 */ |
26 | 26 |
27 | 27 |
28 /** | 28 /** |
29 * @addtogroup Enums | 29 * @addtogroup Enums |
30 * @{ | 30 * @{ |
31 */ | 31 */ |
32 /** | 32 /** |
33 * This enumeration contains the types representing the WebSocket ready state | 33 * This enumeration contains the types representing the WebSocket ready state |
34 * and these states are based on the JavaScript WebSocket API specification. | 34 * and these states are based on the JavaScript WebSocket API specification. |
35 * GetReadyState() returns one of these states. | 35 * GetReadyState() returns one of these states. |
36 */ | 36 */ |
37 typedef enum { | 37 typedef enum { |
38 /** | 38 /** |
39 * Ready state is queried on an invalid resource. | 39 * Ready state is queried on an invalid resource. |
40 */ | 40 */ |
41 PP_WEBSOCKETREADYSTATE_INVALID_DEV = -1, | 41 PP_WEBSOCKETREADYSTATE_INVALID = -1, |
42 /** | 42 /** |
43 * Ready state that the connection has not yet been established. | 43 * Ready state that the connection has not yet been established. |
44 */ | 44 */ |
45 PP_WEBSOCKETREADYSTATE_CONNECTING_DEV = 0, | 45 PP_WEBSOCKETREADYSTATE_CONNECTING = 0, |
46 /** | 46 /** |
47 * Ready state that the WebSocket connection is established and communication | 47 * Ready state that the WebSocket connection is established and communication |
48 * is possible. | 48 * is possible. |
49 */ | 49 */ |
50 PP_WEBSOCKETREADYSTATE_OPEN_DEV = 1, | 50 PP_WEBSOCKETREADYSTATE_OPEN = 1, |
51 /** | 51 /** |
52 * Ready state that the connection is going through the closing handshake. | 52 * Ready state that the connection is going through the closing handshake. |
53 */ | 53 */ |
54 PP_WEBSOCKETREADYSTATE_CLOSING_DEV = 2, | 54 PP_WEBSOCKETREADYSTATE_CLOSING = 2, |
55 /** | 55 /** |
56 * Ready state that the connection has been closed or could not be opened. | 56 * Ready state that the connection has been closed or could not be opened. |
57 */ | 57 */ |
58 PP_WEBSOCKETREADYSTATE_CLOSED_DEV = 3 | 58 PP_WEBSOCKETREADYSTATE_CLOSED = 3 |
59 } PP_WebSocketReadyState_Dev; | 59 } PP_WebSocketReadyState; |
60 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_WebSocketReadyState_Dev, 4); | 60 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_WebSocketReadyState, 4); |
61 /** | 61 /** |
62 * @} | 62 * @} |
63 */ | 63 */ |
64 | 64 |
65 /** | 65 /** |
66 * @addtogroup Interfaces | 66 * @addtogroup Interfaces |
67 * @{ | 67 * @{ |
68 */ | 68 */ |
69 struct PPB_WebSocket_Dev_0_1 { | 69 struct PPB_WebSocket_1_0 { |
70 /** | 70 /** |
71 * Create() creates a WebSocket instance. | 71 * Create() creates a WebSocket instance. |
72 * | 72 * |
73 * @param[in] instance A <code>PP_Instance</code> identifying the instance | 73 * @param[in] instance A <code>PP_Instance</code> identifying the instance |
74 * with the WebSocket. | 74 * with the WebSocket. |
75 * | 75 * |
76 * @return A <code>PP_Resource</code> corresponding to a WebSocket if | 76 * @return A <code>PP_Resource</code> corresponding to a WebSocket if |
77 * successful. | 77 * successful. |
78 */ | 78 */ |
79 PP_Resource (*Create)(PP_Instance instance); | 79 PP_Resource (*Create)(PP_Instance instance); |
80 /** | 80 /** |
81 * IsWebSocket() determines if the provided <code>resource</code> is a | 81 * IsWebSocket() determines if the provided <code>resource</code> is a |
82 * WebSocket instance. | 82 * WebSocket instance. |
83 * | 83 * |
84 * @param[in] resource A <code>PP_Resource</code> corresponding to a | 84 * @param[in] resource A <code>PP_Resource</code> corresponding to a |
85 * WebSocket. | 85 * WebSocket. |
86 * | 86 * |
87 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is a | 87 * @return Returns <code>PP_TRUE</code> if <code>resource</code> is a |
88 * <code>PPB_WebSocket_Dev</code>, <code>PP_FALSE</code> if the | 88 * <code>PPB_WebSocket</code>, <code>PP_FALSE</code> if the |
89 * <code>resource</code> is invalid or some type other than | 89 * <code>resource</code> is invalid or some type other than |
90 * <code>PPB_WebSocket_Dev</code>. | 90 * <code>PPB_WebSocket</code>. |
91 */ | 91 */ |
92 PP_Bool (*IsWebSocket)(PP_Resource resource); | 92 PP_Bool (*IsWebSocket)(PP_Resource resource); |
93 /** | 93 /** |
94 * Connect() connects to the specified WebSocket server. Caller can call this | 94 * Connect() connects to the specified WebSocket server. Caller can call this |
95 * method at most once for a <code>web_socket</code>. | 95 * method at most once for a <code>web_socket</code>. |
96 * | 96 * |
97 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a | 97 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a |
98 * WebSocket. | 98 * WebSocket. |
99 * | 99 * |
100 * @param[in] url A <code>PP_Var</code> representing a WebSocket server URL. | 100 * @param[in] url A <code>PP_Var</code> representing a WebSocket server URL. |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 * be called at least N times to receive N messages, no matter how small each | 169 * be called at least N times to receive N messages, no matter how small each |
170 * message is. | 170 * message is. |
171 * | 171 * |
172 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a | 172 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a |
173 * WebSocket. | 173 * WebSocket. |
174 * | 174 * |
175 * @param[out] message The received message is copied to provided | 175 * @param[out] message The received message is copied to provided |
176 * <code>message</code>. The <code>message</code> must remain valid until | 176 * <code>message</code>. The <code>message</code> must remain valid until |
177 * the ReceiveMessage operation completes. Its <code>PP_VarType</code> | 177 * the ReceiveMessage operation completes. Its <code>PP_VarType</code> |
178 * will be <code>PP_VARTYPE_STRING</code> or | 178 * will be <code>PP_VARTYPE_STRING</code> or |
179 * <code>PP_VARTYPE_ARRAY_BYFFER</code> on receiving. | 179 * <code>PP_VARTYPE_ARRAY_BUFFER</code> on receiving. |
180 * | 180 * |
181 * @param[in] callback A <code>PP_CompletionCallback</code> which is called | 181 * @param[in] callback A <code>PP_CompletionCallback</code> which is called |
182 * when the receiving message is completed. It is ignored if ReceiveMessage | 182 * when the receiving message is completed. It is ignored if ReceiveMessage |
183 * completes synchronously and returns <code>PP_OK</code>. | 183 * completes synchronously and returns <code>PP_OK</code>. |
184 * | 184 * |
185 * @return An int32_t containing an error code from <code>pp_errors.h</code>. | 185 * @return An int32_t containing an error code from <code>pp_errors.h</code>. |
186 * If an error is detected or connection is closed, returns | 186 * If an error is detected or connection is closed, returns |
187 * <code>PP_ERROR_FAILED</code> after all buffered messages are received. | 187 * <code>PP_ERROR_FAILED</code> after all buffered messages are received. |
188 * Until buffered message become empty, continues to returns | 188 * Until buffered message become empty, continues to returns |
189 * <code>PP_OK</code> as if connection is still established without errors. | 189 * <code>PP_OK</code> as if connection is still established without errors. |
190 */ | 190 */ |
191 int32_t (*ReceiveMessage)(PP_Resource web_socket, | 191 int32_t (*ReceiveMessage)(PP_Resource web_socket, |
192 struct PP_Var* message, | 192 struct PP_Var* message, |
193 struct PP_CompletionCallback callback); | 193 struct PP_CompletionCallback callback); |
194 /** | 194 /** |
195 * SendMessage() sends a message to the WebSocket server. | 195 * SendMessage() sends a message to the WebSocket server. |
196 * | 196 * |
197 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a | 197 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a |
198 * WebSocket. | 198 * WebSocket. |
199 * | 199 * |
200 * @param[in] message A message to send. The message is copied to internal | 200 * @param[in] message A message to send. The message is copied to internal |
201 * buffer. So caller can free <code>message</code> safely after returning | 201 * buffer. So caller can free <code>message</code> safely after returning |
202 * from the function. Its <code>PP_VarType</code> must be | 202 * from the function. Its <code>PP_VarType</code> must be |
203 * <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>. | 203 * <code>PP_VARTYPE_STRING</code> or <code>PP_VARTYPE_ARRAY_BUFFER</code>. |
204 * | 204 * |
205 * @return An int32_t containing an error code from <code>pp_errors.h</code>. | 205 * @return An int32_t containing an error code from <code>pp_errors.h</code>. |
206 * Returns <code>PP_ERROR_FAILED</code> if the ReadyState is | 206 * Returns <code>PP_ERROR_FAILED</code> if the ReadyState is |
207 * <code>PP_WEBSOCKETREADYSTATE_CONNECTING_DEV</code>. It corresponds | 207 * <code>PP_WEBSOCKETREADYSTATE_CONNECTING</code>. It corresponds JavaScript |
208 * JavaScript InvalidStateError of the specification. | 208 * InvalidStateError of the specification. |
209 * Returns <code>PP_ERROR_BADARGUMENT</code> if provided <code>message</code> | 209 * Returns <code>PP_ERROR_BADARGUMENT</code> if provided <code>message</code> |
210 * of string type contains an invalid character as a UTF-8 string. It | 210 * of string type contains an invalid character as a UTF-8 string. It |
211 * corresponds to JavaScript SyntaxError of the specification. | 211 * corresponds to JavaScript SyntaxError of the specification. |
212 * Otherwise, returns <code>PP_OK</code>, but it doesn't necessarily mean | 212 * Otherwise, returns <code>PP_OK</code>, but it doesn't necessarily mean |
213 * that the server received the message. | 213 * that the server received the message. |
214 */ | 214 */ |
215 int32_t (*SendMessage)(PP_Resource web_socket, struct PP_Var message); | 215 int32_t (*SendMessage)(PP_Resource web_socket, struct PP_Var message); |
216 /** | 216 /** |
217 * GetBufferedAmount() returns the number of bytes of text and binary | 217 * GetBufferedAmount() returns the number of bytes of text and binary |
218 * messages that have been queued for the WebSocket connection to send but | 218 * messages that have been queued for the WebSocket connection to send but |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 * <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. | 284 * <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. |
285 */ | 285 */ |
286 struct PP_Var (*GetProtocol)(PP_Resource web_socket); | 286 struct PP_Var (*GetProtocol)(PP_Resource web_socket); |
287 /** | 287 /** |
288 * GetReadyState() returns the ready state of the specified WebSocket | 288 * GetReadyState() returns the ready state of the specified WebSocket |
289 * connection. | 289 * connection. |
290 * | 290 * |
291 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a | 291 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a |
292 * WebSocket. | 292 * WebSocket. |
293 * | 293 * |
294 * @return Returns <code>PP_WEBSOCKETREADYSTATE_INVALID_DEV</code> if called | 294 * @return Returns <code>PP_WEBSOCKETREADYSTATE_INVALID</code> if called |
295 * before connect() is called, or called on an invalid resource. | 295 * before connect() is called, or called on an invalid resource. |
296 */ | 296 */ |
297 PP_WebSocketReadyState_Dev (*GetReadyState)(PP_Resource web_socket); | 297 PP_WebSocketReadyState (*GetReadyState)(PP_Resource web_socket); |
298 /** | 298 /** |
299 * GetURL() returns the URL associated with specified WebSocket connection. | 299 * GetURL() returns the URL associated with specified WebSocket connection. |
300 * | 300 * |
301 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a | 301 * @param[in] web_socket A <code>PP_Resource</code> corresponding to a |
302 * WebSocket. | 302 * WebSocket. |
303 * | 303 * |
304 * @return Returns a <code>PP_VARTYPE_STRING</code> var. If called before the | 304 * @return Returns a <code>PP_VARTYPE_STRING</code> var. If called before the |
305 * connection is established, it contains the empty string. Return a | 305 * connection is established, it contains the empty string. Return a |
306 * <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. | 306 * <code>PP_VARTYPE_UNDEFINED</code> if called on an invalid resource. |
307 */ | 307 */ |
308 struct PP_Var (*GetURL)(PP_Resource web_socket); | 308 struct PP_Var (*GetURL)(PP_Resource web_socket); |
309 }; | 309 }; |
310 | 310 |
311 typedef struct PPB_WebSocket_Dev_0_1 PPB_WebSocket_Dev; | 311 typedef struct PPB_WebSocket_1_0 PPB_WebSocket; |
312 /** | 312 /** |
313 * @} | 313 * @} |
314 */ | 314 */ |
315 | 315 |
316 #endif /* PPAPI_C_DEV_PPB_WEBSOCKET_DEV_H_ */ | 316 #endif /* PPAPI_C_PPB_WEBSOCKET_H_ */ |
317 | 317 |
OLD | NEW |