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

Side by Side Diff: remoting/client/chromoting_client.cc

Issue 10382184: [Chromoting] Initial plumbing for cursor shape. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove extra LOGs Created 8 years, 7 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) 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 "remoting/client/chromoting_client.h" 5 #include "remoting/client/chromoting_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "remoting/client/chromoting_view.h" 8 #include "remoting/client/chromoting_view.h"
9 #include "remoting/client/client_context.h" 9 #include "remoting/client/client_context.h"
10 #include "remoting/client/rectangle_update_decoder.h" 10 #include "remoting/client/rectangle_update_decoder.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 authenticator.reset(new protocol::V1ClientAuthenticator( 57 authenticator.reset(new protocol::V1ClientAuthenticator(
58 config_.local_jid, config_.shared_secret)); 58 config_.local_jid, config_.shared_secret));
59 } else { 59 } else {
60 authenticator = protocol::NegotiatingAuthenticator::CreateForClient( 60 authenticator = protocol::NegotiatingAuthenticator::CreateForClient(
61 config_.authentication_tag, 61 config_.authentication_tag,
62 config_.shared_secret, config_.authentication_methods); 62 config_.shared_secret, config_.authentication_methods);
63 } 63 }
64 64
65 connection_->Connect(xmpp_proxy, config_.local_jid, config_.host_jid, 65 connection_->Connect(xmpp_proxy, config_.local_jid, config_.host_jid,
66 config_.host_public_key, transport_factory.Pass(), 66 config_.host_public_key, transport_factory.Pass(),
67 authenticator.Pass(), this, this, this, this); 67 authenticator.Pass(), this, this, this, this, this);
68 68
69 if (!view_->Initialize()) { 69 if (!view_->Initialize()) {
70 ClientDone(); 70 ClientDone();
71 } 71 }
72 } 72 }
73 73
74 void ChromotingClient::Stop(const base::Closure& shutdown_task) { 74 void ChromotingClient::Stop(const base::Closure& shutdown_task) {
75 if (!message_loop()->BelongsToCurrentThread()) { 75 if (!message_loop()->BelongsToCurrentThread()) {
76 message_loop()->PostTask( 76 message_loop()->PostTask(
77 FROM_HERE, base::Bind(&ChromotingClient::Stop, 77 FROM_HERE, base::Bind(&ChromotingClient::Stop,
(...skipping 27 matching lines...) Expand all
105 105
106 ChromotingStats* ChromotingClient::GetStats() { 106 ChromotingStats* ChromotingClient::GetStats() {
107 return &stats_; 107 return &stats_;
108 } 108 }
109 109
110 void ChromotingClient::InjectClipboardEvent( 110 void ChromotingClient::InjectClipboardEvent(
111 const protocol::ClipboardEvent& event) { 111 const protocol::ClipboardEvent& event) {
112 view_->GetClipboardStub()->InjectClipboardEvent(event); 112 view_->GetClipboardStub()->InjectClipboardEvent(event);
113 } 113 }
114 114
115 void ChromotingClient::SetCursorShape(
116 const protocol::CursorShapeInfo& cursor_shape) {
Wez 2012/05/23 00:01:57 Do we actually need ChromotingClient to implement
garykac 2012/05/26 01:58:01 ChromotingClient is currently where we handle all
117 if (cursor_shape.has_data()) {
Wez 2012/05/23 00:01:57 The SetCursorShape() API doesn't specify any requi
garykac 2012/05/26 01:58:01 Done.
118 view_->SetCursorShape(cursor_shape);
119 }
120 }
121
115 void ChromotingClient::ProcessVideoPacket(scoped_ptr<VideoPacket> packet, 122 void ChromotingClient::ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
116 const base::Closure& done) { 123 const base::Closure& done) {
117 DCHECK(message_loop()->BelongsToCurrentThread()); 124 DCHECK(message_loop()->BelongsToCurrentThread());
118 125
119 // If the video packet is empty then drop it. Empty packets are used to 126 // If the video packet is empty then drop it. Empty packets are used to
120 // maintain activity on the network. 127 // maintain activity on the network.
121 if (!packet->has_data() || packet->data().size() == 0) { 128 if (!packet->has_data() || packet->data().size() == 0) {
122 done.Run(); 129 done.Run();
123 return; 130 return;
124 } 131 }
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 thread_proxy_.PostTask(FROM_HERE, base::Bind( 226 thread_proxy_.PostTask(FROM_HERE, base::Bind(
220 &ChromotingClient::Initialize, base::Unretained(this))); 227 &ChromotingClient::Initialize, base::Unretained(this)));
221 return; 228 return;
222 } 229 }
223 230
224 // Initialize the decoder. 231 // Initialize the decoder.
225 rectangle_decoder_->Initialize(connection_->config()); 232 rectangle_decoder_->Initialize(connection_->config());
226 } 233 }
227 234
228 } // namespace remoting 235 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698