Chromium Code Reviews| 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 |