| 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 #include "ppapi/utility/websocket/websocket_api.h" | 5 #include "ppapi/utility/websocket/websocket_api.h" |
| 6 | 6 |
| 7 #include "ppapi/c/pp_errors.h" | 7 #include "ppapi/c/pp_errors.h" |
| 8 #include "ppapi/c/pp_macros.h" | 8 #include "ppapi/c/pp_macros.h" |
| 9 #include "ppapi/cpp/instance.h" | 9 #include "ppapi/cpp/instance.h" |
| 10 #include "ppapi/cpp/module.h" | 10 #include "ppapi/cpp/module.h" |
| 11 #include "ppapi/cpp/module_impl.h" | 11 #include "ppapi/cpp/module_impl.h" |
| 12 #include "ppapi/cpp/var.h" | 12 #include "ppapi/cpp/var.h" |
| 13 #include "ppapi/cpp/websocket.h" | 13 #include "ppapi/cpp/websocket.h" |
| 14 #include "ppapi/utility/completion_callback_factory.h" | 14 #include "ppapi/utility/completion_callback_factory.h" |
| 15 | 15 |
| 16 #ifdef SendMessage | 16 #ifdef SendMessage |
| 17 #undef SendMessage | 17 #undef SendMessage |
| 18 #endif | 18 #endif |
| 19 | 19 |
| 20 namespace pp { | 20 namespace pp { |
| 21 | 21 |
| 22 class WebSocketAPI::Implement : public WebSocket { | 22 class WebSocketAPI::Implement : public WebSocket { |
| 23 public: | 23 public: |
| 24 Implement(Instance* instance, WebSocketAPI* api) | 24 Implement(Instance* instance, WebSocketAPI* api) |
| 25 : WebSocket(instance), | 25 : WebSocket(instance), |
| 26 api_(api), | 26 api_(api), |
| 27 callback_factory_(PP_ALLOW_THIS_IN_INITIALIZER_LIST(this)) { | 27 callback_factory_(this) { |
| 28 } | 28 } |
| 29 | 29 |
| 30 virtual ~Implement() {} | 30 virtual ~Implement() {} |
| 31 | 31 |
| 32 int32_t Connect(const Var& url, const Var protocols[], | 32 int32_t Connect(const Var& url, const Var protocols[], |
| 33 uint32_t protocol_count) { | 33 uint32_t protocol_count) { |
| 34 CompletionCallback callback = | 34 CompletionCallback callback = |
| 35 callback_factory_.NewOptionalCallback(&Implement::DidConnect); | 35 callback_factory_.NewOptionalCallback(&Implement::DidConnect); |
| 36 int32_t result = | 36 int32_t result = |
| 37 WebSocket::Connect(url, protocols, protocol_count, callback); | 37 WebSocket::Connect(url, protocols, protocol_count, callback); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 api_->WebSocketDidClose(was_clean, GetCloseCode(), GetCloseReason()); | 97 api_->WebSocketDidClose(was_clean, GetCloseCode(), GetCloseReason()); |
| 98 } | 98 } |
| 99 | 99 |
| 100 private: | 100 private: |
| 101 WebSocketAPI* api_; | 101 WebSocketAPI* api_; |
| 102 CompletionCallbackFactory<Implement> callback_factory_; | 102 CompletionCallbackFactory<Implement> callback_factory_; |
| 103 Var receive_message_var_; | 103 Var receive_message_var_; |
| 104 }; | 104 }; |
| 105 | 105 |
| 106 WebSocketAPI::WebSocketAPI(Instance* instance) | 106 WebSocketAPI::WebSocketAPI(Instance* instance) |
| 107 : impl_(new Implement(instance, PP_ALLOW_THIS_IN_INITIALIZER_LIST(this))) { | 107 : impl_(new Implement(instance, this)) { |
| 108 } | 108 } |
| 109 | 109 |
| 110 WebSocketAPI::~WebSocketAPI() { | 110 WebSocketAPI::~WebSocketAPI() { |
| 111 delete impl_; | 111 delete impl_; |
| 112 } | 112 } |
| 113 | 113 |
| 114 int32_t WebSocketAPI::Connect(const Var& url, const Var protocols[], | 114 int32_t WebSocketAPI::Connect(const Var& url, const Var protocols[], |
| 115 uint32_t protocol_count) { | 115 uint32_t protocol_count) { |
| 116 return impl_->Connect(url, protocols, protocol_count); | 116 return impl_->Connect(url, protocols, protocol_count); |
| 117 } | 117 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 138 | 138 |
| 139 PP_WebSocketReadyState WebSocketAPI::GetReadyState() { | 139 PP_WebSocketReadyState WebSocketAPI::GetReadyState() { |
| 140 return impl_->GetReadyState(); | 140 return impl_->GetReadyState(); |
| 141 } | 141 } |
| 142 | 142 |
| 143 Var WebSocketAPI::GetURL() { | 143 Var WebSocketAPI::GetURL() { |
| 144 return impl_->GetURL(); | 144 return impl_->GetURL(); |
| 145 } | 145 } |
| 146 | 146 |
| 147 } // namespace pp | 147 } // namespace pp |
| OLD | NEW |