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

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

Issue 2861047: Refactor the client code. Move all x11-related code into X11View and create... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "remoting/base/constants.h" 6 #include "remoting/base/constants.h"
7 #include "remoting/client/client_config.h"
7 #include "remoting/client/jingle_host_connection.h" 8 #include "remoting/client/jingle_host_connection.h"
8 #include "remoting/jingle_glue/jingle_thread.h" 9 #include "remoting/jingle_glue/jingle_thread.h"
9 10
10 namespace remoting { 11 namespace remoting {
11 12
12 JingleHostConnection::JingleHostConnection(JingleThread* network_thread) 13 JingleHostConnection::JingleHostConnection(ClientContext* context)
13 : network_thread_(network_thread), 14 : context_(context),
14 event_callback_(NULL) { 15 event_callback_(NULL) {
15 } 16 }
16 17
17 JingleHostConnection::~JingleHostConnection() { 18 JingleHostConnection::~JingleHostConnection() {
18 } 19 }
19 20
20 void JingleHostConnection::Connect(const std::string& username, 21 void JingleHostConnection::Connect(ClientConfig* config,
21 const std::string& password,
22 const std::string& host_jid,
23 HostEventCallback* event_callback) { 22 HostEventCallback* event_callback) {
24 message_loop()->PostTask( 23 message_loop()->PostTask(
25 FROM_HERE, 24 FROM_HERE,
26 NewRunnableMethod(this, &JingleHostConnection::DoConnect, 25 NewRunnableMethod(this, &JingleHostConnection::DoConnect,
27 username, password, host_jid, 26 config, event_callback));
28 event_callback));
29 } 27 }
30 28
31 void JingleHostConnection::Disconnect() { 29 void JingleHostConnection::Disconnect() {
32 message_loop()->PostTask( 30 message_loop()->PostTask(
33 FROM_HERE, 31 FROM_HERE,
34 NewRunnableMethod(this, &JingleHostConnection::DoDisconnect)); 32 NewRunnableMethod(this, &JingleHostConnection::DoDisconnect));
35 } 33 }
36 34
37 void JingleHostConnection::OnStateChange(JingleChannel* channel, 35 void JingleHostConnection::OnStateChange(JingleChannel* channel,
38 JingleChannel::State state) { 36 JingleChannel::State state) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 JingleClient* client, 96 JingleClient* client,
99 scoped_refptr<JingleChannel> channel) { 97 scoped_refptr<JingleChannel> channel) {
100 DCHECK_EQ(message_loop(), MessageLoop::current()); 98 DCHECK_EQ(message_loop(), MessageLoop::current());
101 99
102 // TODO(ajwong): Should we log more aggressively on this and above? We 100 // TODO(ajwong): Should we log more aggressively on this and above? We
103 // shouldn't be getting any inbound connections. 101 // shouldn't be getting any inbound connections.
104 NOTREACHED() << "Clients can't accept inbound connections."; 102 NOTREACHED() << "Clients can't accept inbound connections.";
105 } 103 }
106 104
107 MessageLoop* JingleHostConnection::message_loop() { 105 MessageLoop* JingleHostConnection::message_loop() {
108 return network_thread_->message_loop(); 106 return context_->jingle_thread()->message_loop();
109 } 107 }
110 108
111 void JingleHostConnection::DoConnect(const std::string& username, 109 void JingleHostConnection::DoConnect(ClientConfig* config,
112 const std::string& auth_token,
113 const std::string& host_jid,
114 HostEventCallback* event_callback) { 110 HostEventCallback* event_callback) {
115 DCHECK_EQ(message_loop(), MessageLoop::current()); 111 DCHECK_EQ(message_loop(), MessageLoop::current());
116 112
117 event_callback_ = event_callback; 113 event_callback_ = event_callback;
118 114
119 jingle_client_ = new JingleClient(network_thread_); 115 jingle_client_ = new JingleClient(context_->jingle_thread());
120 jingle_client_->Init(username, auth_token, kChromotingTokenServiceName, this); 116 jingle_client_->Init(config->username(), config->auth_token(),
121 jingle_channel_ = jingle_client_->Connect(host_jid, this); 117 kChromotingTokenServiceName, this);
118 jingle_channel_ = jingle_client_->Connect(config->host_jid(), this);
122 } 119 }
123 120
124 void JingleHostConnection::DoDisconnect() { 121 void JingleHostConnection::DoDisconnect() {
125 DCHECK_EQ(message_loop(), MessageLoop::current()); 122 DCHECK_EQ(message_loop(), MessageLoop::current());
126 123
127 if (jingle_channel_.get()) { 124 if (jingle_channel_.get()) {
128 jingle_channel_->Close(); 125 jingle_channel_->Close();
129 jingle_channel_ = NULL; 126 jingle_channel_ = NULL;
130 } 127 }
131 128
132 if (jingle_client_.get()) { 129 if (jingle_client_.get()) {
133 jingle_client_->Close(); 130 jingle_client_->Close();
134 jingle_client_ = NULL; 131 jingle_client_ = NULL;
135 } 132 }
136 } 133 }
137 134
138 } // namespace remoting 135 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698