Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(477)

Side by Side Diff: remoting/client/jni/chromoting_jni_instance.cc

Issue 451973002: Capabilities + Extensions + Cast Host Extension Support for Android client (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor Fix Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <android/log.h> 7 #include <android/log.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 28 matching lines...) Expand all
39 39
40 } 40 }
41 41
42 ChromotingJniInstance::ChromotingJniInstance(ChromotingJniRuntime* jni_runtime, 42 ChromotingJniInstance::ChromotingJniInstance(ChromotingJniRuntime* jni_runtime,
43 const char* username, 43 const char* username,
44 const char* auth_token, 44 const char* auth_token,
45 const char* host_jid, 45 const char* host_jid,
46 const char* host_id, 46 const char* host_id,
47 const char* host_pubkey, 47 const char* host_pubkey,
48 const char* pairing_id, 48 const char* pairing_id,
49 const char* pairing_secret) 49 const char* pairing_secret,
50 const char* capabilities)
50 : jni_runtime_(jni_runtime), 51 : jni_runtime_(jni_runtime),
51 host_id_(host_id), 52 host_id_(host_id),
52 host_jid_(host_jid), 53 host_jid_(host_jid),
53 create_pairing_(false), 54 create_pairing_(false),
54 stats_logging_enabled_(false), 55 stats_logging_enabled_(false),
56 capabilities_(capabilities),
55 weak_factory_(this) { 57 weak_factory_(this) {
56 DCHECK(jni_runtime_->ui_task_runner()->BelongsToCurrentThread()); 58 DCHECK(jni_runtime_->ui_task_runner()->BelongsToCurrentThread());
57 59
58 // Intialize XMPP config. 60 // Intialize XMPP config.
59 xmpp_config_.host = kXmppServer; 61 xmpp_config_.host = kXmppServer;
60 xmpp_config_.port = kXmppPort; 62 xmpp_config_.port = kXmppPort;
61 xmpp_config_.use_tls = kXmppUseTls; 63 xmpp_config_.use_tls = kXmppUseTls;
62 xmpp_config_.username = username; 64 xmpp_config_.username = username;
63 xmpp_config_.auth_token = auth_token; 65 xmpp_config_.auth_token = auth_token;
64 xmpp_config_.auth_service = "oauth2"; 66 xmpp_config_.auth_service = "oauth2";
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 FROM_HERE, 245 FROM_HERE,
244 base::Bind(&ChromotingJniInstance::SendTextEvent, this, text)); 246 base::Bind(&ChromotingJniInstance::SendTextEvent, this, text));
245 return; 247 return;
246 } 248 }
247 249
248 protocol::TextEvent event; 250 protocol::TextEvent event;
249 event.set_text(text); 251 event.set_text(text);
250 client_->input_stub()->InjectTextEvent(event); 252 client_->input_stub()->InjectTextEvent(event);
251 } 253 }
252 254
255 void ChromotingJniInstance::SendClientMessage(const std::string& type,
256 const std::string& data) {
257 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) {
258 jni_runtime_->network_task_runner()->PostTask(
259 FROM_HERE,
260 base::Bind(
261 &ChromotingJniInstance::SendClientMessage, this, type, data));
262 return;
263 }
264
265 protocol::ExtensionMessage extension_message;
266 extension_message.set_type(type);
267 extension_message.set_data(data);
268 client_->host_stub()->DeliverClientMessage(extension_message);
269 }
270
253 void ChromotingJniInstance::RecordPaintTime(int64 paint_time_ms) { 271 void ChromotingJniInstance::RecordPaintTime(int64 paint_time_ms) {
254 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) { 272 if (!jni_runtime_->network_task_runner()->BelongsToCurrentThread()) {
255 jni_runtime_->network_task_runner()->PostTask( 273 jni_runtime_->network_task_runner()->PostTask(
256 FROM_HERE, base::Bind(&ChromotingJniInstance::RecordPaintTime, this, 274 FROM_HERE, base::Bind(&ChromotingJniInstance::RecordPaintTime, this,
257 paint_time_ms)); 275 paint_time_ms));
258 return; 276 return;
259 } 277 }
260 278
261 if (stats_logging_enabled_) 279 if (stats_logging_enabled_)
262 video_renderer_->GetStats()->video_paint_ms()->Record(paint_time_ms); 280 video_renderer_->GetStats()->video_paint_ms()->Record(paint_time_ms);
(...skipping 29 matching lines...) Expand all
292 310
293 void ChromotingJniInstance::OnRouteChanged( 311 void ChromotingJniInstance::OnRouteChanged(
294 const std::string& channel_name, 312 const std::string& channel_name,
295 const protocol::TransportRoute& route) { 313 const protocol::TransportRoute& route) {
296 std::string message = "Channel " + channel_name + " using " + 314 std::string message = "Channel " + channel_name + " using " +
297 protocol::TransportRoute::GetTypeString(route.type) + " connection."; 315 protocol::TransportRoute::GetTypeString(route.type) + " connection.";
298 __android_log_print(ANDROID_LOG_INFO, "route", "%s", message.c_str()); 316 __android_log_print(ANDROID_LOG_INFO, "route", "%s", message.c_str());
299 } 317 }
300 318
301 void ChromotingJniInstance::SetCapabilities(const std::string& capabilities) { 319 void ChromotingJniInstance::SetCapabilities(const std::string& capabilities) {
302 NOTIMPLEMENTED(); 320 jni_runtime_->ui_task_runner()->PostTask(
321 FROM_HERE,
322 base::Bind(&ChromotingJniRuntime::SetCapabilities,
323 base::Unretained(jni_runtime_),
324 capabilities));
303 } 325 }
304 326
305 void ChromotingJniInstance::SetPairingResponse( 327 void ChromotingJniInstance::SetPairingResponse(
306 const protocol::PairingResponse& response) { 328 const protocol::PairingResponse& response) {
307 329
308 jni_runtime_->ui_task_runner()->PostTask( 330 jni_runtime_->ui_task_runner()->PostTask(
309 FROM_HERE, 331 FROM_HERE,
310 base::Bind(&ChromotingJniRuntime::CommitPairingCredentials, 332 base::Bind(&ChromotingJniRuntime::CommitPairingCredentials,
311 base::Unretained(jni_runtime_), 333 base::Unretained(jni_runtime_),
312 host_id_, response.client_id(), response.shared_secret())); 334 host_id_, response.client_id(), response.shared_secret()));
313 } 335 }
314 336
315 void ChromotingJniInstance::DeliverHostMessage( 337 void ChromotingJniInstance::DeliverHostMessage(
316 const protocol::ExtensionMessage& message) { 338 const protocol::ExtensionMessage& message) {
317 NOTIMPLEMENTED(); 339 jni_runtime_->ui_task_runner()->PostTask(
340 FROM_HERE,
341 base::Bind(&ChromotingJniRuntime::HandleExtensionMessage,
342 base::Unretained(jni_runtime_),
343 message.type(),
344 message.data()));
318 } 345 }
319 346
320 protocol::ClipboardStub* ChromotingJniInstance::GetClipboardStub() { 347 protocol::ClipboardStub* ChromotingJniInstance::GetClipboardStub() {
321 return this; 348 return this;
322 } 349 }
323 350
324 protocol::CursorShapeStub* ChromotingJniInstance::GetCursorShapeStub() { 351 protocol::CursorShapeStub* ChromotingJniInstance::GetCursorShapeStub() {
325 return this; 352 return this;
326 } 353 }
327 354
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 protocol::ChromiumPortAllocator::Create(jni_runtime_->url_requester(), 422 protocol::ChromiumPortAllocator::Create(jni_runtime_->url_requester(),
396 network_settings)); 423 network_settings));
397 424
398 scoped_ptr<protocol::TransportFactory> transport_factory( 425 scoped_ptr<protocol::TransportFactory> transport_factory(
399 new protocol::LibjingleTransportFactory( 426 new protocol::LibjingleTransportFactory(
400 signaling_.get(), 427 signaling_.get(),
401 port_allocator.PassAs<cricket::HttpPortAllocatorBase>(), 428 port_allocator.PassAs<cricket::HttpPortAllocatorBase>(),
402 network_settings)); 429 network_settings));
403 430
404 client_->Start(signaling_.get(), authenticator_.Pass(), 431 client_->Start(signaling_.get(), authenticator_.Pass(),
405 transport_factory.Pass(), host_jid_, std::string()); 432 transport_factory.Pass(), host_jid_, capabilities_);
406 } 433 }
407 434
408 void ChromotingJniInstance::DisconnectFromHostOnNetworkThread() { 435 void ChromotingJniInstance::DisconnectFromHostOnNetworkThread() {
409 DCHECK(jni_runtime_->network_task_runner()->BelongsToCurrentThread()); 436 DCHECK(jni_runtime_->network_task_runner()->BelongsToCurrentThread());
410 437
411 host_id_.clear(); 438 host_id_.clear();
412 439
413 stats_logging_enabled_ = false; 440 stats_logging_enabled_ = false;
414 441
415 // |client_| must be torn down before |signaling_|. 442 // |client_| must be torn down before |signaling_|.
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 stats->round_trip_ms()->Average()); 522 stats->round_trip_ms()->Average());
496 523
497 client_status_logger_->LogStatistics(stats); 524 client_status_logger_->LogStatistics(stats);
498 525
499 jni_runtime_->network_task_runner()->PostDelayedTask( 526 jni_runtime_->network_task_runner()->PostDelayedTask(
500 FROM_HERE, base::Bind(&ChromotingJniInstance::LogPerfStats, this), 527 FROM_HERE, base::Bind(&ChromotingJniInstance::LogPerfStats, this),
501 base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs)); 528 base::TimeDelta::FromMilliseconds(kPerfStatsIntervalMs));
502 } 529 }
503 530
504 } // namespace remoting 531 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/jni/chromoting_jni_instance.h ('k') | remoting/client/jni/chromoting_jni_runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698