| 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 #ifndef PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ | 5 #ifndef PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ |
| 6 #define PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ | 6 #define PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ |
| 7 | 7 |
| 8 #include "ppapi/c/dev/ppb_websocket_dev.h" | 8 #include "ppapi/c/dev/ppb_websocket_dev.h" |
| 9 #include "ppapi/cpp/resource.h" | 9 #include "ppapi/cpp/resource.h" |
| 10 | 10 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 int32_t Close(uint16_t code, const Var& reason, | 80 int32_t Close(uint16_t code, const Var& reason, |
| 81 const CompletionCallback& callback); | 81 const CompletionCallback& callback); |
| 82 | 82 |
| 83 /// ReceiveMessage() receives a message from the WebSocket server. | 83 /// ReceiveMessage() receives a message from the WebSocket server. |
| 84 /// This interface only returns a single message. That is, this interface | 84 /// This interface only returns a single message. That is, this interface |
| 85 /// must be called at least N times to receive N messages, no matter how | 85 /// must be called at least N times to receive N messages, no matter how |
| 86 /// small each message is. | 86 /// small each message is. |
| 87 /// | 87 /// |
| 88 /// @param[out] message The received message is copied to provided | 88 /// @param[out] message The received message is copied to provided |
| 89 /// <code>message</code>. The <code>message</code> must remain valid until | 89 /// <code>message</code>. The <code>message</code> must remain valid until |
| 90 /// the ReceiveMessage operation completes. | 90 /// the ReceiveMessage operation completes. It will be a <code>Var</code> of |
| 91 /// string or ArrayBuffer types on receiving. |
| 91 /// @param[in] callback A <code>CompletionCallback</code> which is called | 92 /// @param[in] callback A <code>CompletionCallback</code> which is called |
| 92 /// when the receiving message is completed. It is ignored if ReceiveMessage | 93 /// when the receiving message is completed. It is ignored if ReceiveMessage |
| 93 /// completes synchronously and returns <code>PP_OK</code>. | 94 /// completes synchronously and returns <code>PP_OK</code>. |
| 94 /// | 95 /// |
| 95 /// @return An int32_t containing an error code from | 96 /// @return An int32_t containing an error code from |
| 96 /// <code>pp_errors.h</code>. | 97 /// <code>pp_errors.h</code>. |
| 97 /// If an error is detected or connection is closed, returns | 98 /// If an error is detected or connection is closed, returns |
| 98 /// <code>PP_ERROR_FAILED</code> after all buffered messages are received. | 99 /// <code>PP_ERROR_FAILED</code> after all buffered messages are received. |
| 99 /// Until buffered message become empty, continues to returns | 100 /// Until buffered message become empty, continues to returns |
| 100 /// <code>PP_OK</code> as if connection is still established without errors. | 101 /// <code>PP_OK</code> as if connection is still established without errors. |
| 101 int32_t ReceiveMessage(Var* message, | 102 int32_t ReceiveMessage(Var* message, |
| 102 const CompletionCallback& callback); | 103 const CompletionCallback& callback); |
| 103 | 104 |
| 104 /// Send() sends a message to the WebSocket server. | 105 /// Send() sends a message to the WebSocket server. |
| 105 /// | 106 /// |
| 106 /// @param[in] data A message to send. The message is copied to internal | 107 /// @param[in] data A message to send. The message is copied to internal |
| 107 /// buffer. So caller can free <code>data</code> safely after returning | 108 /// buffer. So caller can free <code>data</code> safely after returning |
| 108 /// from the function. | 109 /// from the function. It must be a <code>Var</code> of string or ArrayBuffer |
| 110 /// types. |
| 109 /// | 111 /// |
| 110 /// @return An int32_t containing an error code from | 112 /// @return An int32_t containing an error code from |
| 111 /// <code>pp_errors.h</code>. | 113 /// <code>pp_errors.h</code>. |
| 112 /// Returns <code>PP_ERROR_FAILED</code> if the ReadyState is | 114 /// Returns <code>PP_ERROR_FAILED</code> if the ReadyState is |
| 113 /// <code>PP_WEBSOCKETREADYSTATE_CONNECTING_DEV</code>. It corresponds | 115 /// <code>PP_WEBSOCKETREADYSTATE_CONNECTING_DEV</code>. It corresponds |
| 114 /// JavaScript InvalidStateError of the specification. | 116 /// JavaScript InvalidStateError of the specification. |
| 115 /// Returns <code>PP_ERROR_BADARGUMENT</code> if provided | 117 /// Returns <code>PP_ERROR_BADARGUMENT</code> if provided |
| 116 /// <code>message</code> of string type contains an invalid character as a | 118 /// <code>message</code> of string type contains an invalid character as a |
| 117 /// UTF-8 string. It corresponds to JavaScript SyntaxError of the | 119 /// UTF-8 string. It corresponds to JavaScript SyntaxError of the |
| 118 /// specification. | 120 /// specification. |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 /// | 171 /// |
| 170 /// @return Returns <code>PP_WEBSOCKETREADYSTATE_INVALID_DEV</code> if called | 172 /// @return Returns <code>PP_WEBSOCKETREADYSTATE_INVALID_DEV</code> if called |
| 171 /// before connect() is called. | 173 /// before connect() is called. |
| 172 PP_WebSocketReadyState_Dev GetReadyState(); | 174 PP_WebSocketReadyState_Dev GetReadyState(); |
| 173 | 175 |
| 174 /// GetURL() returns the URL associated with specified WebSocket connection. | 176 /// GetURL() returns the URL associated with specified WebSocket connection. |
| 175 /// | 177 /// |
| 176 /// @return Returns a <code>Var</code> of string type. If called before the | 178 /// @return Returns a <code>Var</code> of string type. If called before the |
| 177 /// connection is established, it contains the empty string. | 179 /// connection is established, it contains the empty string. |
| 178 Var GetURL(); | 180 Var GetURL(); |
| 179 | |
| 180 /// SetBinaryType() specifies the binary object type for receiving binary | |
| 181 /// frames representation. Receiving text frames are always mapped to | |
| 182 /// <PP_VARTYPE_STRING</code> var regardless of this attribute. | |
| 183 /// This function should be called before Connect() to ensure receiving all | |
| 184 /// incoming binary frames as the specified binary object type. | |
| 185 /// Default type is <code>PP_WEBSOCKETBINARYTYPE_BLOB_DEV</code>. | |
| 186 /// | |
| 187 /// Currently, Blob bindings is not supported in Pepper, so receiving binary | |
| 188 /// type is always ArrayBuffer. To ensure backward compatibility, you must | |
| 189 /// call this function with | |
| 190 /// <code>PP_WEBSOCKETBINARYTYPE_ARRAYBUFFER_DEV</code> to use binary frames. | |
| 191 /// | |
| 192 /// @param[in] binary_type Binary object type for receiving binary frames | |
| 193 /// representation. | |
| 194 /// | |
| 195 /// @return Returns <code>false</code> if the specified type is not | |
| 196 /// supported. Otherwise, returns <code>true</code>. | |
| 197 /// | |
| 198 bool SetBinaryType(PP_WebSocketBinaryType_Dev binary_type); | |
| 199 | |
| 200 /// GetBinaryType() returns the currently specified binary object type for | |
| 201 /// receiving binary frames. | |
| 202 /// | |
| 203 /// @return Returns <code>PP_WebSocketBinaryType_Dev</code> represents the | |
| 204 /// current binary object type. | |
| 205 PP_WebSocketBinaryType_Dev GetBinaryType(); | |
| 206 }; | 181 }; |
| 207 | 182 |
| 208 } // namespace pp | 183 } // namespace pp |
| 209 | 184 |
| 210 #endif // PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ | 185 #endif // PPAPI_CPP_DEV_WEBSOCKET_DEV_H_ |
| OLD | NEW |