| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/arc/arc_bridge_service.h" | 5 #include "components/arc/arc_bridge_service.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/sequenced_task_runner.h" | 10 #include "base/sequenced_task_runner.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 if (app_instance()) | 56 if (app_instance()) |
| 57 observer->OnAppInstanceReady(); | 57 observer->OnAppInstanceReady(); |
| 58 if (auth_instance()) | 58 if (auth_instance()) |
| 59 observer->OnAuthInstanceReady(); | 59 observer->OnAuthInstanceReady(); |
| 60 if (clipboard_instance()) | 60 if (clipboard_instance()) |
| 61 observer->OnClipboardInstanceReady(); | 61 observer->OnClipboardInstanceReady(); |
| 62 if (ime_instance()) | 62 if (ime_instance()) |
| 63 observer->OnImeInstanceReady(); | 63 observer->OnImeInstanceReady(); |
| 64 if (input_instance()) | 64 if (input_instance()) |
| 65 observer->OnInputInstanceReady(); | 65 observer->OnInputInstanceReady(); |
| 66 if (net_instance()) |
| 67 observer->OnNetInstanceReady(); |
| 66 if (notifications_instance()) | 68 if (notifications_instance()) |
| 67 observer->OnNotificationsInstanceReady(); | 69 observer->OnNotificationsInstanceReady(); |
| 68 if (power_instance()) | 70 if (power_instance()) |
| 69 observer->OnPowerInstanceReady(); | 71 observer->OnPowerInstanceReady(); |
| 70 if (process_instance()) | 72 if (process_instance()) |
| 71 observer->OnProcessInstanceReady(); | 73 observer->OnProcessInstanceReady(); |
| 72 if (settings_instance()) | 74 if (settings_instance()) |
| 73 observer->OnSettingsInstanceReady(); | 75 observer->OnSettingsInstanceReady(); |
| 74 if (video_instance()) | 76 if (video_instance()) |
| 75 observer->OnVideoInstanceReady(); | 77 observer->OnVideoInstanceReady(); |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 | 222 |
| 221 void ArcBridgeService::CloseIntentHelperChannel() { | 223 void ArcBridgeService::CloseIntentHelperChannel() { |
| 222 DCHECK(CalledOnValidThread()); | 224 DCHECK(CalledOnValidThread()); |
| 223 if (!intent_helper_ptr_) | 225 if (!intent_helper_ptr_) |
| 224 return; | 226 return; |
| 225 | 227 |
| 226 intent_helper_ptr_.reset(); | 228 intent_helper_ptr_.reset(); |
| 227 FOR_EACH_OBSERVER(Observer, observer_list(), OnIntentHelperInstanceClosed()); | 229 FOR_EACH_OBSERVER(Observer, observer_list(), OnIntentHelperInstanceClosed()); |
| 228 } | 230 } |
| 229 | 231 |
| 232 void ArcBridgeService::OnNetInstanceReady(NetInstancePtr net_ptr) { |
| 233 DCHECK(CalledOnValidThread()); |
| 234 temporary_net_ptr_ = std::move(net_ptr); |
| 235 temporary_net_ptr_.QueryVersion(base::Bind( |
| 236 &ArcBridgeService::OnNetVersionReady, weak_factory_.GetWeakPtr())); |
| 237 } |
| 238 |
| 239 void ArcBridgeService::OnNetVersionReady(int32_t version) { |
| 240 DCHECK(CalledOnValidThread()); |
| 241 net_ptr_ = std::move(temporary_net_ptr_); |
| 242 net_ptr_.set_connection_error_handler(base::Bind( |
| 243 &ArcBridgeService::CloseNetChannel, weak_factory_.GetWeakPtr())); |
| 244 FOR_EACH_OBSERVER(Observer, observer_list(), OnNetInstanceReady()); |
| 245 } |
| 246 |
| 247 void ArcBridgeService::CloseNetChannel() { |
| 248 DCHECK(CalledOnValidThread()); |
| 249 if (!net_ptr_) |
| 250 return; |
| 251 |
| 252 net_ptr_.reset(); |
| 253 FOR_EACH_OBSERVER(Observer, observer_list(), OnNetInstanceClosed()); |
| 254 } |
| 255 |
| 230 void ArcBridgeService::OnNotificationsInstanceReady( | 256 void ArcBridgeService::OnNotificationsInstanceReady( |
| 231 NotificationsInstancePtr notifications_ptr) { | 257 NotificationsInstancePtr notifications_ptr) { |
| 232 DCHECK(CalledOnValidThread()); | 258 DCHECK(CalledOnValidThread()); |
| 233 temporary_notifications_ptr_ = std::move(notifications_ptr); | 259 temporary_notifications_ptr_ = std::move(notifications_ptr); |
| 234 temporary_notifications_ptr_.QueryVersion( | 260 temporary_notifications_ptr_.QueryVersion( |
| 235 base::Bind(&ArcBridgeService::OnNotificationsVersionReady, | 261 base::Bind(&ArcBridgeService::OnNotificationsVersionReady, |
| 236 weak_factory_.GetWeakPtr())); | 262 weak_factory_.GetWeakPtr())); |
| 237 } | 263 } |
| 238 | 264 |
| 239 void ArcBridgeService::OnNotificationsVersionReady(int32_t version) { | 265 void ArcBridgeService::OnNotificationsVersionReady(int32_t version) { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 | 398 |
| 373 void ArcBridgeService::CloseAllChannels() { | 399 void ArcBridgeService::CloseAllChannels() { |
| 374 // Call all the error handlers of all the channels to both close the channel | 400 // Call all the error handlers of all the channels to both close the channel |
| 375 // and notify any observers that the channel is closed. | 401 // and notify any observers that the channel is closed. |
| 376 CloseAppChannel(); | 402 CloseAppChannel(); |
| 377 CloseAuthChannel(); | 403 CloseAuthChannel(); |
| 378 CloseClipboardChannel(); | 404 CloseClipboardChannel(); |
| 379 CloseImeChannel(); | 405 CloseImeChannel(); |
| 380 CloseInputChannel(); | 406 CloseInputChannel(); |
| 381 CloseIntentHelperChannel(); | 407 CloseIntentHelperChannel(); |
| 408 CloseNetChannel(); |
| 382 CloseNotificationsChannel(); | 409 CloseNotificationsChannel(); |
| 383 ClosePowerChannel(); | 410 ClosePowerChannel(); |
| 384 CloseProcessChannel(); | 411 CloseProcessChannel(); |
| 385 CloseSettingsChannel(); | 412 CloseSettingsChannel(); |
| 386 CloseVideoChannel(); | 413 CloseVideoChannel(); |
| 387 } | 414 } |
| 388 | 415 |
| 389 } // namespace arc | 416 } // namespace arc |
| OLD | NEW |