| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 // A standalone tool for testing MCS connections and the MCS client on their | 5 // A standalone tool for testing MCS connections and the MCS client on their |
| 6 // own. | 6 // own. |
| 7 | 7 |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 #include <cstdio> | 9 #include <cstdio> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 } | 180 } |
| 181 | 181 |
| 182 void CancelRequest(RequestHandle req) override { | 182 void CancelRequest(RequestHandle req) override { |
| 183 // Do nothing. | 183 // Do nothing. |
| 184 } | 184 } |
| 185 }; | 185 }; |
| 186 | 186 |
| 187 class MCSProbe { | 187 class MCSProbe { |
| 188 public: | 188 public: |
| 189 MCSProbe( | 189 MCSProbe( |
| 190 const CommandLine& command_line, | 190 const base::CommandLine& command_line, |
| 191 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter); | 191 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter); |
| 192 ~MCSProbe(); | 192 ~MCSProbe(); |
| 193 | 193 |
| 194 void Start(); | 194 void Start(); |
| 195 | 195 |
| 196 uint64 android_id() const { return android_id_; } | 196 uint64 android_id() const { return android_id_; } |
| 197 uint64 secret() const { return secret_; } | 197 uint64 secret() const { return secret_; } |
| 198 | 198 |
| 199 private: | 199 private: |
| 200 void CheckIn(); | 200 void CheckIn(); |
| 201 void InitializeNetworkState(); | 201 void InitializeNetworkState(); |
| 202 void BuildNetworkSession(); | 202 void BuildNetworkSession(); |
| 203 | 203 |
| 204 void LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result); | 204 void LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result); |
| 205 void UpdateCallback(bool success); | 205 void UpdateCallback(bool success); |
| 206 void ErrorCallback(); | 206 void ErrorCallback(); |
| 207 void OnCheckInCompleted( | 207 void OnCheckInCompleted( |
| 208 const checkin_proto::AndroidCheckinResponse& checkin_response); | 208 const checkin_proto::AndroidCheckinResponse& checkin_response); |
| 209 void StartMCSLogin(); | 209 void StartMCSLogin(); |
| 210 | 210 |
| 211 base::DefaultClock clock_; | 211 base::DefaultClock clock_; |
| 212 | 212 |
| 213 CommandLine command_line_; | 213 base::CommandLine command_line_; |
| 214 | 214 |
| 215 base::FilePath gcm_store_path_; | 215 base::FilePath gcm_store_path_; |
| 216 uint64 android_id_; | 216 uint64 android_id_; |
| 217 uint64 secret_; | 217 uint64 secret_; |
| 218 std::string server_host_; | 218 std::string server_host_; |
| 219 int server_port_; | 219 int server_port_; |
| 220 | 220 |
| 221 // Network state. | 221 // Network state. |
| 222 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; | 222 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; |
| 223 net::NetLog net_log_; | 223 net::NetLog net_log_; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 239 scoped_ptr<CheckinRequest> checkin_request_; | 239 scoped_ptr<CheckinRequest> checkin_request_; |
| 240 | 240 |
| 241 scoped_ptr<ConnectionFactoryImpl> connection_factory_; | 241 scoped_ptr<ConnectionFactoryImpl> connection_factory_; |
| 242 | 242 |
| 243 base::Thread file_thread_; | 243 base::Thread file_thread_; |
| 244 | 244 |
| 245 scoped_ptr<base::RunLoop> run_loop_; | 245 scoped_ptr<base::RunLoop> run_loop_; |
| 246 }; | 246 }; |
| 247 | 247 |
| 248 MCSProbe::MCSProbe( | 248 MCSProbe::MCSProbe( |
| 249 const CommandLine& command_line, | 249 const base::CommandLine& command_line, |
| 250 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) | 250 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter) |
| 251 : command_line_(command_line), | 251 : command_line_(command_line), |
| 252 gcm_store_path_(base::FilePath(FILE_PATH_LITERAL("gcm_store"))), | 252 gcm_store_path_(base::FilePath(FILE_PATH_LITERAL("gcm_store"))), |
| 253 android_id_(0), | 253 android_id_(0), |
| 254 secret_(0), | 254 secret_(0), |
| 255 server_port_(0), | 255 server_port_(0), |
| 256 url_request_context_getter_(url_request_context_getter), | 256 url_request_context_getter_(url_request_context_getter), |
| 257 file_thread_("FileThread") { | 257 file_thread_("FileThread") { |
| 258 if (command_line.HasSwitch(kRMQFileName)) { | 258 if (command_line.HasSwitch(kRMQFileName)) { |
| 259 gcm_store_path_ = command_line.GetSwitchValuePath(kRMQFileName); | 259 gcm_store_path_ = command_line.GetSwitchValuePath(kRMQFileName); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 463 | 463 |
| 464 void MCSProbe::StartMCSLogin() { | 464 void MCSProbe::StartMCSLogin() { |
| 465 LOG(INFO) << "MCS login initiated."; | 465 LOG(INFO) << "MCS login initiated."; |
| 466 | 466 |
| 467 mcs_client_->Login(android_id_, secret_); | 467 mcs_client_->Login(android_id_, secret_); |
| 468 } | 468 } |
| 469 | 469 |
| 470 int MCSProbeMain(int argc, char* argv[]) { | 470 int MCSProbeMain(int argc, char* argv[]) { |
| 471 base::AtExitManager exit_manager; | 471 base::AtExitManager exit_manager; |
| 472 | 472 |
| 473 CommandLine::Init(argc, argv); | 473 base::CommandLine::Init(argc, argv); |
| 474 logging::LoggingSettings settings; | 474 logging::LoggingSettings settings; |
| 475 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; | 475 settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG; |
| 476 logging::InitLogging(settings); | 476 logging::InitLogging(settings); |
| 477 | 477 |
| 478 base::MessageLoopForIO message_loop; | 478 base::MessageLoopForIO message_loop; |
| 479 | 479 |
| 480 // For check-in and creating registration ids. | 480 // For check-in and creating registration ids. |
| 481 const scoped_refptr<MyTestURLRequestContextGetter> context_getter = | 481 const scoped_refptr<MyTestURLRequestContextGetter> context_getter = |
| 482 new MyTestURLRequestContextGetter( | 482 new MyTestURLRequestContextGetter( |
| 483 base::MessageLoop::current()->message_loop_proxy()); | 483 base::MessageLoop::current()->message_loop_proxy()); |
| 484 | 484 |
| 485 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); | 485 const base::CommandLine& command_line = |
| 486 *base::CommandLine::ForCurrentProcess(); |
| 486 | 487 |
| 487 MCSProbe mcs_probe(command_line, context_getter); | 488 MCSProbe mcs_probe(command_line, context_getter); |
| 488 mcs_probe.Start(); | 489 mcs_probe.Start(); |
| 489 | 490 |
| 490 base::RunLoop run_loop; | 491 base::RunLoop run_loop; |
| 491 run_loop.Run(); | 492 run_loop.Run(); |
| 492 | 493 |
| 493 return 0; | 494 return 0; |
| 494 } | 495 } |
| 495 | 496 |
| 496 } // namespace | 497 } // namespace |
| 497 } // namespace gcm | 498 } // namespace gcm |
| 498 | 499 |
| 499 int main(int argc, char* argv[]) { | 500 int main(int argc, char* argv[]) { |
| 500 return gcm::MCSProbeMain(argc, argv); | 501 return gcm::MCSProbeMain(argc, argv); |
| 501 } | 502 } |
| OLD | NEW |