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

Side by Side Diff: chromeos/components/tether/connect_tethering_operation.cc

Issue 2844973002: [CrOS Tether] Create TetherHostResponseRecorder, which records ConnectTetheringResponses and Tether… (Closed)
Patch Set: Changed "Connectable" wording to "Connected". Created 3 years, 7 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "chromeos/components/tether/connect_tethering_operation.h" 5 #include "chromeos/components/tether/connect_tethering_operation.h"
6 6
7 #include "chromeos/components/tether/host_scan_device_prioritizer.h"
8 #include "chromeos/components/tether/message_wrapper.h" 7 #include "chromeos/components/tether/message_wrapper.h"
9 #include "chromeos/components/tether/proto/tether.pb.h" 8 #include "chromeos/components/tether/proto/tether.pb.h"
9 #include "chromeos/components/tether/tether_host_response_recorder.h"
10 #include "components/proximity_auth/logging/logging.h" 10 #include "components/proximity_auth/logging/logging.h"
11 11
12 namespace chromeos { 12 namespace chromeos {
13 13
14 namespace tether { 14 namespace tether {
15 15
16 // static 16 // static
17 ConnectTetheringOperation::Factory* 17 ConnectTetheringOperation::Factory*
18 ConnectTetheringOperation::Factory::factory_instance_ = nullptr; 18 ConnectTetheringOperation::Factory::factory_instance_ = nullptr;
19 19
20 // static 20 // static
21 std::unique_ptr<ConnectTetheringOperation> 21 std::unique_ptr<ConnectTetheringOperation>
22 ConnectTetheringOperation::Factory::NewInstance( 22 ConnectTetheringOperation::Factory::NewInstance(
23 const cryptauth::RemoteDevice& device_to_connect, 23 const cryptauth::RemoteDevice& device_to_connect,
24 BleConnectionManager* connection_manager, 24 BleConnectionManager* connection_manager,
25 HostScanDevicePrioritizer* host_scan_device_prioritizer) { 25 TetherHostResponseRecorder* tether_host_response_recorder) {
26 if (!factory_instance_) { 26 if (!factory_instance_) {
27 factory_instance_ = new Factory(); 27 factory_instance_ = new Factory();
28 } 28 }
29 return factory_instance_->BuildInstance(device_to_connect, connection_manager, 29 return factory_instance_->BuildInstance(device_to_connect, connection_manager,
30 host_scan_device_prioritizer); 30 tether_host_response_recorder);
31 } 31 }
32 32
33 // static 33 // static
34 void ConnectTetheringOperation::Factory::SetInstanceForTesting( 34 void ConnectTetheringOperation::Factory::SetInstanceForTesting(
35 Factory* factory) { 35 Factory* factory) {
36 factory_instance_ = factory; 36 factory_instance_ = factory;
37 } 37 }
38 38
39 std::unique_ptr<ConnectTetheringOperation> 39 std::unique_ptr<ConnectTetheringOperation>
40 ConnectTetheringOperation::Factory::BuildInstance( 40 ConnectTetheringOperation::Factory::BuildInstance(
41 const cryptauth::RemoteDevice& device_to_connect, 41 const cryptauth::RemoteDevice& device_to_connect,
42 BleConnectionManager* connection_manager, 42 BleConnectionManager* connection_manager,
43 HostScanDevicePrioritizer* host_scan_device_prioritizer) { 43 TetherHostResponseRecorder* tether_host_response_recorder) {
44 return base::MakeUnique<ConnectTetheringOperation>( 44 return base::MakeUnique<ConnectTetheringOperation>(
45 device_to_connect, connection_manager, host_scan_device_prioritizer); 45 device_to_connect, connection_manager, tether_host_response_recorder);
46 } 46 }
47 47
48 ConnectTetheringOperation::ConnectTetheringOperation( 48 ConnectTetheringOperation::ConnectTetheringOperation(
49 const cryptauth::RemoteDevice& device_to_connect, 49 const cryptauth::RemoteDevice& device_to_connect,
50 BleConnectionManager* connection_manager, 50 BleConnectionManager* connection_manager,
51 HostScanDevicePrioritizer* host_scan_device_prioritizer) 51 TetherHostResponseRecorder* tether_host_response_recorder)
52 : MessageTransferOperation( 52 : MessageTransferOperation(
53 std::vector<cryptauth::RemoteDevice>{device_to_connect}, 53 std::vector<cryptauth::RemoteDevice>{device_to_connect},
54 connection_manager), 54 connection_manager),
55 remote_device_(device_to_connect), 55 remote_device_(device_to_connect),
56 host_scan_device_prioritizer_(host_scan_device_prioritizer), 56 tether_host_response_recorder_(tether_host_response_recorder),
57 error_code_to_return_( 57 error_code_to_return_(
58 ConnectTetheringResponse_ResponseCode:: 58 ConnectTetheringResponse_ResponseCode::
59 ConnectTetheringResponse_ResponseCode_UNKNOWN_ERROR) {} 59 ConnectTetheringResponse_ResponseCode_UNKNOWN_ERROR) {}
60 60
61 ConnectTetheringOperation::~ConnectTetheringOperation() {} 61 ConnectTetheringOperation::~ConnectTetheringOperation() {}
62 62
63 void ConnectTetheringOperation::AddObserver(Observer* observer) { 63 void ConnectTetheringOperation::AddObserver(Observer* observer) {
64 observer_list_.AddObserver(observer); 64 observer_list_.AddObserver(observer);
65 } 65 }
66 66
(...skipping 27 matching lines...) Expand all
94 if (response->response_code() == 94 if (response->response_code() ==
95 ConnectTetheringResponse_ResponseCode:: 95 ConnectTetheringResponse_ResponseCode::
96 ConnectTetheringResponse_ResponseCode_SUCCESS) { 96 ConnectTetheringResponse_ResponseCode_SUCCESS) {
97 if (response->has_ssid() && response->has_password()) { 97 if (response->has_ssid() && response->has_password()) {
98 PA_LOG(INFO) << "Received ConnectTetheringResponse from device with ID " 98 PA_LOG(INFO) << "Received ConnectTetheringResponse from device with ID "
99 << remote_device.GetTruncatedDeviceIdForLogs() << " and " 99 << remote_device.GetTruncatedDeviceIdForLogs() << " and "
100 << "response_code == SUCCESS. Config: {ssid: \"" 100 << "response_code == SUCCESS. Config: {ssid: \""
101 << response->ssid() << "\", password: \"" 101 << response->ssid() << "\", password: \""
102 << response->password() << "\"}"; 102 << response->password() << "\"}";
103 103
104 host_scan_device_prioritizer_->RecordSuccessfulConnectTetheringResponse( 104 tether_host_response_recorder_->RecordSuccessfulConnectTetheringResponse(
105 remote_device); 105 remote_device);
106 106
107 ssid_to_return_ = response->ssid(); 107 ssid_to_return_ = response->ssid();
108 password_to_return_ = response->password(); 108 password_to_return_ = response->password();
109 } else { 109 } else {
110 PA_LOG(ERROR) << "Received ConnectTetheringResponse from device with ID " 110 PA_LOG(ERROR) << "Received ConnectTetheringResponse from device with ID "
111 << remote_device.GetTruncatedDeviceIdForLogs() << " and " 111 << remote_device.GetTruncatedDeviceIdForLogs() << " and "
112 << "response_code == SUCCESS, but the response did not " 112 << "response_code == SUCCESS, but the response did not "
113 << "contain a Wi-Fi SSID and/or password."; 113 << "contain a Wi-Fi SSID and/or password.";
114 } 114 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 void ConnectTetheringOperation::NotifyObserversOfConnectionFailure( 155 void ConnectTetheringOperation::NotifyObserversOfConnectionFailure(
156 ConnectTetheringResponse_ResponseCode error_code) { 156 ConnectTetheringResponse_ResponseCode error_code) {
157 for (auto& observer : observer_list_) { 157 for (auto& observer : observer_list_) {
158 observer.OnConnectTetheringFailure(remote_device_, error_code); 158 observer.OnConnectTetheringFailure(remote_device_, error_code);
159 } 159 }
160 } 160 }
161 161
162 } // namespace tether 162 } // namespace tether
163 163
164 } // namespace chromeos 164 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698