OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/jni_client.h" | 5 #include "remoting/client/jni/jni_client.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "jni/Client_jni.h" | 10 #include "jni/Client_jni.h" |
(...skipping 20 matching lines...) Expand all Loading... | |
31 } | 31 } |
32 | 32 |
33 JniClient::~JniClient() { | 33 JniClient::~JniClient() { |
34 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 34 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
35 | 35 |
36 // The session must be shut down first, since it depends on our other | 36 // The session must be shut down first, since it depends on our other |
37 // components' still being alive. | 37 // components' still being alive. |
38 DisconnectFromHost(); | 38 DisconnectFromHost(); |
39 } | 39 } |
40 | 40 |
41 void JniClient::ConnectToHost(const std::string& username, | 41 void JniClient::ConnectToHost(const ConnectToHostInfo& info) { |
42 const std::string& auth_token, | |
43 const std::string& host_jid, | |
44 const std::string& host_id, | |
45 const std::string& host_pubkey, | |
46 const std::string& pairing_id, | |
47 const std::string& pairing_secret, | |
48 const std::string& capabilities, | |
49 const std::string& flags, | |
50 const std::string& host_version, | |
51 const std::string& host_os, | |
52 const std::string& host_os_version) { | |
53 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 42 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
54 DCHECK(!display_handler_); | 43 DCHECK(!display_handler_); |
55 DCHECK(!session_); | 44 DCHECK(!session_); |
56 DCHECK(!secret_fetcher_); | 45 DCHECK(!secret_fetcher_); |
57 display_handler_.reset(new JniGlDisplayHandler(runtime_, java_client_)); | 46 display_handler_.reset(new JniGlDisplayHandler(runtime_, java_client_)); |
58 secret_fetcher_.reset(new JniPairingSecretFetcher(runtime_, GetWeakPtr(), | 47 secret_fetcher_.reset(new JniPairingSecretFetcher(runtime_, GetWeakPtr(), |
59 host_id)); | 48 info.host_id)); |
60 // TODO(BUG 680752): Create ClientTelemetryLogger here. No need to pass host | 49 // TODO(BUG 680752): Create ClientTelemetryLogger here. No need to pass host |
Sergey Ulanov
2017/01/19 00:50:38
Do we still need this TODO?
Yuwei
2017/01/19 23:00:00
No. Removed. This is not feasible unless we allow
| |
61 // info all the way down. Currently we have to do that due to thread | 50 // info all the way down. Currently we have to do that due to thread |
62 // restriction. | 51 // restriction. |
63 session_.reset(new ChromotingJniInstance( | 52 session_.reset(new ChromotingJniInstance( |
64 runtime_, GetWeakPtr(), secret_fetcher_->GetWeakPtr(), | 53 runtime_, GetWeakPtr(), secret_fetcher_->GetWeakPtr(), |
65 display_handler_->CreateCursorShapeStub(), | 54 display_handler_->CreateCursorShapeStub(), |
66 display_handler_->CreateVideoRenderer(), | 55 display_handler_->CreateVideoRenderer(), |
67 username, auth_token, host_jid, host_id, | 56 info)); |
Sergey Ulanov
2017/01/19 00:50:38
git cl format
Yuwei
2017/01/19 23:00:00
Done.
| |
68 host_pubkey, pairing_id, pairing_secret, capabilities, flags, | |
69 host_version, host_os, host_os_version)); | |
70 session_->Connect(); | 57 session_->Connect(); |
71 } | 58 } |
72 | 59 |
73 void JniClient::DisconnectFromHost() { | 60 void JniClient::DisconnectFromHost() { |
74 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 61 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
75 if (session_) { | 62 if (session_) { |
76 session_->Disconnect(); | 63 session_->Disconnect(); |
77 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, | 64 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, |
78 session_.release()); | 65 session_.release()); |
79 } | 66 } |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
156 | 143 |
157 void JniClient::Connect( | 144 void JniClient::Connect( |
158 JNIEnv* env, | 145 JNIEnv* env, |
159 const base::android::JavaParamRef<jobject>& caller, | 146 const base::android::JavaParamRef<jobject>& caller, |
160 const base::android::JavaParamRef<jstring>& username, | 147 const base::android::JavaParamRef<jstring>& username, |
161 const base::android::JavaParamRef<jstring>& authToken, | 148 const base::android::JavaParamRef<jstring>& authToken, |
162 const base::android::JavaParamRef<jstring>& hostJid, | 149 const base::android::JavaParamRef<jstring>& hostJid, |
163 const base::android::JavaParamRef<jstring>& hostId, | 150 const base::android::JavaParamRef<jstring>& hostId, |
164 const base::android::JavaParamRef<jstring>& hostPubkey, | 151 const base::android::JavaParamRef<jstring>& hostPubkey, |
165 const base::android::JavaParamRef<jstring>& pairId, | 152 const base::android::JavaParamRef<jstring>& pairId, |
166 const base::android::JavaParamRef<jstring>& pairSecret, | 153 const base::android::JavaParamRef<jstring>& pairSecret, |
Sergey Ulanov
2017/01/19 00:50:39
please cleanup args names while you are here. thes
Yuwei
2017/01/19 23:00:00
Done.
| |
167 const base::android::JavaParamRef<jstring>& capabilities, | 154 const base::android::JavaParamRef<jstring>& capabilities, |
168 const base::android::JavaParamRef<jstring>& flags, | 155 const base::android::JavaParamRef<jstring>& flags, |
169 const base::android::JavaParamRef<jstring>& host_version, | 156 const base::android::JavaParamRef<jstring>& host_version, |
170 const base::android::JavaParamRef<jstring>& host_os, | 157 const base::android::JavaParamRef<jstring>& host_os, |
171 const base::android::JavaParamRef<jstring>& host_os_version) { | 158 const base::android::JavaParamRef<jstring>& host_os_version) { |
Sergey Ulanov
2017/01/19 00:50:38
This list of parameters could be cleaned up on the
Yuwei
2017/01/19 23:00:00
Done.
| |
172 ConnectToHost(ConvertJavaStringToUTF8(env, username), | 159 ConnectToHostInfo info; |
173 ConvertJavaStringToUTF8(env, authToken), | 160 info.username = ConvertJavaStringToUTF8(env, username); |
174 ConvertJavaStringToUTF8(env, hostJid), | 161 info.auth_token = ConvertJavaStringToUTF8(env, authToken); |
175 ConvertJavaStringToUTF8(env, hostId), | 162 info.host_jid = ConvertJavaStringToUTF8(env, hostJid); |
176 ConvertJavaStringToUTF8(env, hostPubkey), | 163 info.host_id = ConvertJavaStringToUTF8(env, hostId); |
177 ConvertJavaStringToUTF8(env, pairId), | 164 info.host_pubkey = ConvertJavaStringToUTF8(env, hostPubkey); |
178 ConvertJavaStringToUTF8(env, pairSecret), | 165 info.pairing_id = ConvertJavaStringToUTF8(env, pairId); |
179 ConvertJavaStringToUTF8(env, capabilities), | 166 info.pairing_secret = ConvertJavaStringToUTF8(env, pairSecret); |
180 ConvertJavaStringToUTF8(env, flags), | 167 info.capabilities = ConvertJavaStringToUTF8(env, capabilities); |
181 ConvertJavaStringToUTF8(env, host_version), | 168 info.flags = ConvertJavaStringToUTF8(env, flags); |
182 ConvertJavaStringToUTF8(env, host_os), | 169 info.host_version = ConvertJavaStringToUTF8(env, host_version); |
183 ConvertJavaStringToUTF8(env, host_os_version)); | 170 info.host_os = ConvertJavaStringToUTF8(env, host_os); |
171 info.host_os_version = ConvertJavaStringToUTF8(env, host_os_version); | |
172 ConnectToHost(info); | |
184 } | 173 } |
185 | 174 |
186 void JniClient::Disconnect(JNIEnv* env, | 175 void JniClient::Disconnect(JNIEnv* env, |
187 const base::android::JavaParamRef<jobject>& caller) { | 176 const base::android::JavaParamRef<jobject>& caller) { |
188 DisconnectFromHost(); | 177 DisconnectFromHost(); |
189 } | 178 } |
190 | 179 |
191 void JniClient::AuthenticationResponse( | 180 void JniClient::AuthenticationResponse( |
192 JNIEnv* env, | 181 JNIEnv* env, |
193 const JavaParamRef<jobject>& caller, | 182 const JavaParamRef<jobject>& caller, |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
299 return weak_ptr_; | 288 return weak_ptr_; |
300 } | 289 } |
301 | 290 |
302 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& caller) { | 291 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& caller) { |
303 return reinterpret_cast<intptr_t>( | 292 return reinterpret_cast<intptr_t>( |
304 new JniClient(ChromotingJniRuntime::GetInstance(), | 293 new JniClient(ChromotingJniRuntime::GetInstance(), |
305 base::android::ScopedJavaGlobalRef<jobject>(env, caller))); | 294 base::android::ScopedJavaGlobalRef<jobject>(env, caller))); |
306 } | 295 } |
307 | 296 |
308 } // namespace remoting | 297 } // namespace remoting |
OLD | NEW |