OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "remoting/client/jni/chromoting_jni_instance.h" | 5 #include "remoting/client/jni/chromoting_jni_instance.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "remoting/client/audio_player.h" | 9 #include "remoting/client/audio_player.h" |
10 #include "remoting/client/jni/android_keymap.h" | 10 #include "remoting/client/jni/android_keymap.h" |
11 #include "remoting/client/jni/chromoting_jni_runtime.h" | 11 #include "remoting/client/jni/chromoting_jni_runtime.h" |
12 #include "remoting/protocol/libjingle_transport_factory.h" | 12 #include "remoting/protocol/libjingle_transport_factory.h" |
13 | 13 |
14 // TODO(solb) Move into location shared with client plugin. | 14 // TODO(solb) Move into location shared with client plugin. |
15 const char* const CHAT_SERVER = "talk.google.com"; | 15 const char* const kXmppServer = "talk.google.com"; |
16 const int CHAT_PORT = 5222; | 16 const int kXmppPort = 5222; |
17 const bool CHAT_USE_TLS = true; | 17 const bool kXmppUseTls = true; |
18 | 18 |
19 namespace remoting { | 19 namespace remoting { |
20 | 20 |
21 ChromotingJniInstance::ChromotingJniInstance(ChromotingJniRuntime* jni_runtime, | 21 ChromotingJniInstance::ChromotingJniInstance(ChromotingJniRuntime* jni_runtime, |
22 const char* username, | 22 const char* username, |
23 const char* auth_token, | 23 const char* auth_token, |
24 const char* host_jid, | 24 const char* host_jid, |
25 const char* host_id, | 25 const char* host_id, |
26 const char* host_pubkey) | 26 const char* host_pubkey) |
27 : jni_runtime_(jni_runtime), | 27 : jni_runtime_(jni_runtime), |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 return; | 76 return; |
77 } | 77 } |
78 | 78 |
79 jni_runtime_->RedrawCanvas(); | 79 jni_runtime_->RedrawCanvas(); |
80 } | 80 } |
81 | 81 |
82 void ChromotingJniInstance::PerformMouseAction( | 82 void ChromotingJniInstance::PerformMouseAction( |
83 int x, | 83 int x, |
84 int y, | 84 int y, |
85 protocol::MouseEvent_MouseButton button, | 85 protocol::MouseEvent_MouseButton button, |
86 bool buttonDown) { | 86 bool button_down) { |
87 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { | 87 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { |
88 jni_runtime_->network_task_runner()->PostTask( | 88 jni_runtime_->network_task_runner()->PostTask( |
89 FROM_HERE, | 89 FROM_HERE, |
90 base::Bind(&ChromotingJniInstance::PerformMouseAction, | 90 base::Bind(&ChromotingJniInstance::PerformMouseAction, |
91 this, | 91 this, |
92 x, | 92 x, |
93 y, | 93 y, |
94 button, | 94 button, |
95 buttonDown)); | 95 button_down)); |
96 return; | 96 return; |
97 } | 97 } |
98 | 98 |
99 protocol::MouseEvent action; | 99 protocol::MouseEvent action; |
100 action.set_x(x); | 100 action.set_x(x); |
101 action.set_y(y); | 101 action.set_y(y); |
102 action.set_button(button); | 102 action.set_button(button); |
103 if (button != protocol::MouseEvent::BUTTON_UNDEFINED) | 103 if (button != protocol::MouseEvent::BUTTON_UNDEFINED) |
104 action.set_button_down(buttonDown); | 104 action.set_button_down(button_down); |
105 | 105 |
106 connection_->input_stub()->InjectMouseEvent(action); | 106 connection_->input_stub()->InjectMouseEvent(action); |
107 } | 107 } |
108 | 108 |
109 void ChromotingJniInstance::PerformKeyboardAction(int keyCode, bool keyDown) { | 109 void ChromotingJniInstance::PerformKeyboardAction(int key_code, bool key_down) { |
110 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { | 110 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { |
111 jni_runtime_->network_task_runner()->PostTask( | 111 jni_runtime_->network_task_runner()->PostTask( |
112 FROM_HERE, | 112 FROM_HERE, |
113 base::Bind(&ChromotingJniInstance::PerformKeyboardAction, | 113 base::Bind(&ChromotingJniInstance::PerformKeyboardAction, |
114 this, | 114 this, |
115 keyCode, | 115 key_code, |
116 keyDown)); | 116 key_down)); |
117 return; | 117 return; |
118 } | 118 } |
119 | 119 |
120 uint32 usbCode = AndroidKeycodeToUsbKeycode(keyCode); | 120 uint32 usb_code = AndroidKeycodeToUsbKeycode(key_code); |
121 if (usbCode) { | 121 if (usb_code) { |
122 protocol::KeyEvent action; | 122 protocol::KeyEvent action; |
123 action.set_usb_keycode(usbCode); | 123 action.set_usb_keycode(usb_code); |
124 action.set_pressed(keyDown); | 124 action.set_pressed(key_down); |
125 connection_->input_stub()->InjectKeyEvent(action); | 125 connection_->input_stub()->InjectKeyEvent(action); |
126 } | 126 } |
127 else | 127 else { |
128 LOG(WARNING) << "Ignoring unknown keycode: " << keyCode; | 128 LOG(WARNING) << "Ignoring unknown keycode: " << key_code; |
| 129 } |
129 } | 130 } |
130 | 131 |
131 void ChromotingJniInstance::OnConnectionState( | 132 void ChromotingJniInstance::OnConnectionState( |
132 protocol::ConnectionToHost::State state, | 133 protocol::ConnectionToHost::State state, |
133 protocol::ErrorCode error) { | 134 protocol::ErrorCode error) { |
134 if (!jni_runtime_->ui_task_runner()->BelongsToCurrentThread()) { | 135 if (!jni_runtime_->ui_task_runner()->BelongsToCurrentThread()) { |
135 jni_runtime_->ui_task_runner()->PostTask( | 136 jni_runtime_->ui_task_runner()->PostTask( |
136 FROM_HERE, | 137 FROM_HERE, |
137 base::Bind(&ChromotingJniInstance::OnConnectionState, | 138 base::Bind(&ChromotingJniInstance::OnConnectionState, |
138 this, | 139 this, |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 client_.reset(new ChromotingClient(*client_config_, | 221 client_.reset(new ChromotingClient(*client_config_, |
221 client_context_.get(), | 222 client_context_.get(), |
222 connection_.get(), | 223 connection_.get(), |
223 this, | 224 this, |
224 frame_consumer_, | 225 frame_consumer_, |
225 scoped_ptr<AudioPlayer>())); | 226 scoped_ptr<AudioPlayer>())); |
226 | 227 |
227 view_->set_frame_producer(client_->GetFrameProducer()); | 228 view_->set_frame_producer(client_->GetFrameProducer()); |
228 | 229 |
229 signaling_config_.reset(new XmppSignalStrategy::XmppServerConfig()); | 230 signaling_config_.reset(new XmppSignalStrategy::XmppServerConfig()); |
230 signaling_config_->host = CHAT_SERVER; | 231 signaling_config_->host = kXmppServer; |
231 signaling_config_->port = CHAT_PORT; | 232 signaling_config_->port = kXmppPort; |
232 signaling_config_->use_tls = CHAT_USE_TLS; | 233 signaling_config_->use_tls = kXmppUseTls; |
233 | 234 |
234 signaling_.reset(new XmppSignalStrategy(jni_runtime_->url_requester(), | 235 signaling_.reset(new XmppSignalStrategy(jni_runtime_->url_requester(), |
235 username_, | 236 username_, |
236 auth_token_, | 237 auth_token_, |
237 "oauth2", | 238 "oauth2", |
238 *signaling_config_)); | 239 *signaling_config_)); |
239 | 240 |
240 network_settings_.reset(new NetworkSettings( | 241 network_settings_.reset(new NetworkSettings( |
241 NetworkSettings::NAT_TRAVERSAL_ENABLED)); | 242 NetworkSettings::NAT_TRAVERSAL_ENABLED)); |
242 scoped_ptr<protocol::TransportFactory> fact( | 243 scoped_ptr<protocol::TransportFactory> fact( |
(...skipping 29 matching lines...) Expand all Loading... |
272 pairable, | 273 pairable, |
273 callback)); | 274 callback)); |
274 return; | 275 return; |
275 } | 276 } |
276 | 277 |
277 pin_callback_ = callback; | 278 pin_callback_ = callback; |
278 jni_runtime_->DisplayAuthenticationPrompt(); | 279 jni_runtime_->DisplayAuthenticationPrompt(); |
279 } | 280 } |
280 | 281 |
281 } // namespace remoting | 282 } // namespace remoting |
OLD | NEW |