| 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 97 |
| 98 void ArcBridgeService::CloseAuthChannel() { | 98 void ArcBridgeService::CloseAuthChannel() { |
| 99 DCHECK(CalledOnValidThread()); | 99 DCHECK(CalledOnValidThread()); |
| 100 if (!input_ptr_) | 100 if (!input_ptr_) |
| 101 return; | 101 return; |
| 102 | 102 |
| 103 auth_ptr_.reset(); | 103 auth_ptr_.reset(); |
| 104 FOR_EACH_OBSERVER(Observer, observer_list(), OnAuthInstanceClosed()); | 104 FOR_EACH_OBSERVER(Observer, observer_list(), OnAuthInstanceClosed()); |
| 105 } | 105 } |
| 106 | 106 |
| 107 void ArcBridgeService::OnClipboardInstanceReady( |
| 108 ClipboardInstancePtr clipboard_ptr) { |
| 109 DCHECK(CalledOnValidThread()); |
| 110 temporary_clipboard_ptr_ = std::move(clipboard_ptr); |
| 111 temporary_clipboard_ptr_.QueryVersion(base::Bind( |
| 112 &ArcBridgeService::OnClipboardVersionReady, weak_factory_.GetWeakPtr())); |
| 113 } |
| 114 |
| 115 void ArcBridgeService::OnClipboardVersionReady(int32_t version) { |
| 116 DCHECK(CalledOnValidThread()); |
| 117 clipboard_ptr_ = std::move(temporary_clipboard_ptr_); |
| 118 FOR_EACH_OBSERVER(Observer, observer_list(), OnClipboardInstanceReady()); |
| 119 clipboard_ptr_.set_connection_error_handler(base::Bind( |
| 120 &ArcBridgeService::CloseClipboardChannel, weak_factory_.GetWeakPtr())); |
| 121 } |
| 122 |
| 123 void ArcBridgeService::CloseClipboardChannel() { |
| 124 DCHECK(CalledOnValidThread()); |
| 125 if (!clipboard_ptr_) |
| 126 return; |
| 127 |
| 128 clipboard_ptr_.reset(); |
| 129 FOR_EACH_OBSERVER(Observer, observer_list(), OnClipboardInstanceClosed()); |
| 130 } |
| 131 |
| 107 void ArcBridgeService::OnInputInstanceReady(InputInstancePtr input_ptr) { | 132 void ArcBridgeService::OnInputInstanceReady(InputInstancePtr input_ptr) { |
| 108 DCHECK(CalledOnValidThread()); | 133 DCHECK(CalledOnValidThread()); |
| 109 temporary_input_ptr_ = std::move(input_ptr); | 134 temporary_input_ptr_ = std::move(input_ptr); |
| 110 temporary_input_ptr_.QueryVersion(base::Bind( | 135 temporary_input_ptr_.QueryVersion(base::Bind( |
| 111 &ArcBridgeService::OnInputVersionReady, weak_factory_.GetWeakPtr())); | 136 &ArcBridgeService::OnInputVersionReady, weak_factory_.GetWeakPtr())); |
| 112 } | 137 } |
| 113 | 138 |
| 114 void ArcBridgeService::OnInputVersionReady(int32_t version) { | 139 void ArcBridgeService::OnInputVersionReady(int32_t version) { |
| 115 DCHECK(CalledOnValidThread()); | 140 DCHECK(CalledOnValidThread()); |
| 116 input_ptr_ = std::move(temporary_input_ptr_); | 141 input_ptr_ = std::move(temporary_input_ptr_); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 | 269 |
| 245 bool ArcBridgeService::CalledOnValidThread() { | 270 bool ArcBridgeService::CalledOnValidThread() { |
| 246 return thread_checker_.CalledOnValidThread(); | 271 return thread_checker_.CalledOnValidThread(); |
| 247 } | 272 } |
| 248 | 273 |
| 249 void ArcBridgeService::CloseAllChannels() { | 274 void ArcBridgeService::CloseAllChannels() { |
| 250 // Call all the error handlers of all the channels to both close the channel | 275 // Call all the error handlers of all the channels to both close the channel |
| 251 // and notify any observers that the channel is closed. | 276 // and notify any observers that the channel is closed. |
| 252 CloseAppChannel(); | 277 CloseAppChannel(); |
| 253 CloseAuthChannel(); | 278 CloseAuthChannel(); |
| 279 CloseClipboardChannel(); |
| 254 CloseInputChannel(); | 280 CloseInputChannel(); |
| 255 CloseNotificationsChannel(); | 281 CloseNotificationsChannel(); |
| 256 ClosePowerChannel(); | 282 ClosePowerChannel(); |
| 257 CloseProcessChannel(); | 283 CloseProcessChannel(); |
| 258 CloseSettingsChannel(); | 284 CloseSettingsChannel(); |
| 259 } | 285 } |
| 260 | 286 |
| 261 } // namespace arc | 287 } // namespace arc |
| OLD | NEW |