Chromium Code Reviews| 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 #include "google_apis/gcm/gcm_client_impl.h" | 5 #include "google_apis/gcm/gcm_client_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 406 mcs_proto::AppData* app_data = stanza.add_app_data(); | 406 mcs_proto::AppData* app_data = stanza.add_app_data(); |
| 407 app_data->set_key(iter->first); | 407 app_data->set_key(iter->first); |
| 408 app_data->set_value(iter->second); | 408 app_data->set_value(iter->second); |
| 409 } | 409 } |
| 410 | 410 |
| 411 MCSMessage mcs_message(stanza); | 411 MCSMessage mcs_message(stanza); |
| 412 DVLOG(1) << "MCS message size: " << mcs_message.size(); | 412 DVLOG(1) << "MCS message size: " << mcs_message.size(); |
| 413 mcs_client_->SendMessage(mcs_message); | 413 mcs_client_->SendMessage(mcs_message); |
| 414 } | 414 } |
| 415 | 415 |
| 416 std::string GCMClientImpl::GetStateString() const { | |
| 417 switch(state_) { | |
| 418 case GCMClientImpl::INITIALIZED: | |
| 419 return "INITIALIZED"; | |
| 420 case GCMClientImpl::UNINITIALIZED: | |
| 421 return "UNINITIALIZED"; | |
| 422 case GCMClientImpl::LOADING: | |
| 423 return "LOADING"; | |
| 424 case GCMClientImpl::INITIAL_DEVICE_CHECKIN: | |
| 425 return "INITIAL_DEVICE_CHECKIN"; | |
| 426 case GCMClientImpl::READY: | |
| 427 return "READY"; | |
| 428 default: | |
| 429 return std::string(); | |
|
jianli
2014/03/06 01:55:21
nit: add NOTREACHED().
juyik
2014/03/06 02:23:59
Done.
| |
| 430 } | |
| 431 } | |
| 432 | |
| 433 GCMClient::GCMStatistics GCMClientImpl::GetStatistics() const { | |
| 434 GCMClient::GCMStatistics stats; | |
| 435 stats.gcm_client_state = GCMClientImpl::GetStateString(); | |
| 436 stats.connection_client_created = mcs_client_.get() != NULL; | |
| 437 if (mcs_client_.get()) { | |
| 438 stats.connection_state = mcs_client_->GetStateString(); | |
| 439 // TODO(juyik): add more statistics such as message metadata list, etc. | |
| 440 } | |
| 441 if (device_checkin_info_.android_id > 0) { | |
|
jianli
2014/03/06 01:55:21
nit: brackets are not needed
juyik
2014/03/06 02:23:59
Done.
| |
| 442 stats.android_id = device_checkin_info_.android_id; | |
| 443 } | |
| 444 return stats; | |
| 445 } | |
| 446 | |
| 416 void GCMClientImpl::OnMessageReceivedFromMCS(const gcm::MCSMessage& message) { | 447 void GCMClientImpl::OnMessageReceivedFromMCS(const gcm::MCSMessage& message) { |
| 417 switch (message.tag()) { | 448 switch (message.tag()) { |
| 418 case kLoginResponseTag: | 449 case kLoginResponseTag: |
| 419 DVLOG(1) << "Login response received by GCM Client. Ignoring."; | 450 DVLOG(1) << "Login response received by GCM Client. Ignoring."; |
| 420 return; | 451 return; |
| 421 case kDataMessageStanzaTag: | 452 case kDataMessageStanzaTag: |
| 422 DVLOG(1) << "A downstream message received. Processing..."; | 453 DVLOG(1) << "A downstream message received. Processing..."; |
| 423 HandleIncomingMessage(message); | 454 HandleIncomingMessage(message); |
| 424 return; | 455 return; |
| 425 default: | 456 default: |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 502 if (iter != incoming_message.data.end()) | 533 if (iter != incoming_message.data.end()) |
| 503 message_id = iter->second; | 534 message_id = iter->second; |
| 504 delegate->OnMessageSendError(app_id, message_id, SERVER_ERROR); | 535 delegate->OnMessageSendError(app_id, message_id, SERVER_ERROR); |
| 505 } | 536 } |
| 506 | 537 |
| 507 void GCMClientImpl::SetMCSClientForTesting(scoped_ptr<MCSClient> mcs_client) { | 538 void GCMClientImpl::SetMCSClientForTesting(scoped_ptr<MCSClient> mcs_client) { |
| 508 mcs_client_ = mcs_client.Pass(); | 539 mcs_client_ = mcs_client.Pass(); |
| 509 } | 540 } |
| 510 | 541 |
| 511 } // namespace gcm | 542 } // namespace gcm |
| OLD | NEW |