| Index: google_apis/gcm/gcm_client_impl.cc
|
| diff --git a/google_apis/gcm/gcm_client_impl.cc b/google_apis/gcm/gcm_client_impl.cc
|
| index 46b246d3a4baa06ae65b422acd2cf8382f3d73f6..9752ba379b3c5a9ad6664e114c4831f94f9a8bee 100644
|
| --- a/google_apis/gcm/gcm_client_impl.cc
|
| +++ b/google_apis/gcm/gcm_client_impl.cc
|
| @@ -413,6 +413,33 @@ void GCMClientImpl::Send(const std::string& app_id,
|
| mcs_client_->SendMessage(mcs_message);
|
| }
|
|
|
| +std::string GCMClientImpl::GetStateString(gcm::GCMClientImpl::State state) {
|
| + switch(state) {
|
| + case GCMClientImpl::INITIALIZED:
|
| + return "INITIALIZED";
|
| + case GCMClientImpl::UNINITIALIZED:
|
| + return "UNINITIALIZED";
|
| + case GCMClientImpl::LOADING:
|
| + return "LOADING";
|
| + case GCMClientImpl::INITIAL_DEVICE_CHECKIN:
|
| + return "INITIAL_DEVICE_CHECKIN";
|
| + case GCMClientImpl::READY:
|
| + return "READY";
|
| + }
|
| + return std::string();
|
| +}
|
| +
|
| +GCMClient::GCMStatistics GCMClientImpl::GetStatistics() const {
|
| + GCMClient::GCMStatistics stats;
|
| + stats.gcm_client_state = GCMClientImpl::GetStateString(state_);
|
| + stats.connection_client_created = (mcs_client_.get() != NULL);
|
| + if (mcs_client_.get()) {
|
| + stats.connection_state = MCSClient::GetStateString(mcs_client_->state());
|
| + // TODO(juyik): add more statistics such as message metadata list, etc.
|
| + }
|
| + return stats;
|
| +}
|
| +
|
| void GCMClientImpl::OnMessageReceivedFromMCS(const gcm::MCSMessage& message) {
|
| switch (message.tag()) {
|
| case kLoginResponseTag:
|
|
|