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

Side by Side Diff: remoting/host/chromoting_host.cc

Issue 8116021: Switch remoting/protocol to new callbacks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 9 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/host/chromoting_host.h" 5 #include "remoting/host/chromoting_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop_proxy.h" 10 #include "base/message_loop_proxy.h"
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 458
459 void ChromotingHost::AddAuthenticatedClient( 459 void ChromotingHost::AddAuthenticatedClient(
460 scoped_refptr<ConnectionToClient> connection, 460 scoped_refptr<ConnectionToClient> connection,
461 const protocol::SessionConfig& config, 461 const protocol::SessionConfig& config,
462 const std::string& jid) { 462 const std::string& jid) {
463 DCHECK_EQ(context_->main_message_loop(), MessageLoop::current()); 463 DCHECK_EQ(context_->main_message_loop(), MessageLoop::current());
464 464
465 protocol::LocalLoginStatus* status = new protocol::LocalLoginStatus(); 465 protocol::LocalLoginStatus* status = new protocol::LocalLoginStatus();
466 status->set_success(true); 466 status->set_success(true);
467 connection->client_stub()->BeginSessionResponse( 467 connection->client_stub()->BeginSessionResponse(
468 status, new DeleteTask<protocol::LocalLoginStatus>(status)); 468 status, base::Bind(&DeletePointer<protocol::LocalLoginStatus>, status));
469 469
470 // Disconnect all other clients. 470 // Disconnect all other clients.
471 // Iterate over a copy of the list of clients, to avoid mutating the list 471 // Iterate over a copy of the list of clients, to avoid mutating the list
472 // while iterating over it. 472 // while iterating over it.
473 ClientList clients_copy(clients_); 473 ClientList clients_copy(clients_);
474 for (ClientList::const_iterator client = clients_copy.begin(); 474 for (ClientList::const_iterator client = clients_copy.begin();
475 client != clients_copy.end(); client++) { 475 client != clients_copy.end(); client++) {
476 ConnectionToClient* connection_other = client->get()->connection(); 476 ConnectionToClient* connection_other = client->get()->connection();
477 if (connection_other != connection) { 477 if (connection_other != connection) {
478 OnClientDisconnected(connection_other); 478 OnClientDisconnected(connection_other);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 if (MessageLoop::current() != context_->main_message_loop()) { 519 if (MessageLoop::current() != context_->main_message_loop()) {
520 context_->main_message_loop()->PostTask( 520 context_->main_message_loop()->PostTask(
521 FROM_HERE, base::Bind(&ChromotingHost::LocalLoginFailed, this, 521 FROM_HERE, base::Bind(&ChromotingHost::LocalLoginFailed, this,
522 connection)); 522 connection));
523 return; 523 return;
524 } 524 }
525 525
526 protocol::LocalLoginStatus* status = new protocol::LocalLoginStatus(); 526 protocol::LocalLoginStatus* status = new protocol::LocalLoginStatus();
527 status->set_success(false); 527 status->set_success(false);
528 connection->client_stub()->BeginSessionResponse( 528 connection->client_stub()->BeginSessionResponse(
529 status, new DeleteTask<protocol::LocalLoginStatus>(status)); 529 status, base::Bind(&DeletePointer<protocol::LocalLoginStatus>, status));
530 } 530 }
531 531
532 void ChromotingHost::ProcessPreAuthentication( 532 void ChromotingHost::ProcessPreAuthentication(
533 const scoped_refptr<ConnectionToClient>& connection) { 533 const scoped_refptr<ConnectionToClient>& connection) {
534 DCHECK_EQ(context_->main_message_loop(), MessageLoop::current()); 534 DCHECK_EQ(context_->main_message_loop(), MessageLoop::current());
535 // Find the client session corresponding to the given connection. 535 // Find the client session corresponding to the given connection.
536 ClientList::iterator client; 536 ClientList::iterator client;
537 for (client = clients_.begin(); client != clients_.end(); ++client) { 537 for (client = clients_.begin(); client != clients_.end(); ++client) {
538 if (client->get()->connection() == connection) 538 if (client->get()->connection() == connection)
539 break; 539 break;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 639
640 for (std::vector<Task*>::iterator it = shutdown_tasks_.begin(); 640 for (std::vector<Task*>::iterator it = shutdown_tasks_.begin();
641 it != shutdown_tasks_.end(); ++it) { 641 it != shutdown_tasks_.end(); ++it) {
642 (*it)->Run(); 642 (*it)->Run();
643 delete *it; 643 delete *it;
644 } 644 }
645 shutdown_tasks_.clear(); 645 shutdown_tasks_.clear();
646 } 646 }
647 647
648 } // namespace remoting 648 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/plugin/chromoting_instance.cc ('k') | remoting/host/chromoting_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698