Chromium Code Reviews| Index: google_apis/gcm/engine/account_mapping.h |
| diff --git a/google_apis/gcm/engine/account_info.h b/google_apis/gcm/engine/account_mapping.h |
| similarity index 52% |
| rename from google_apis/gcm/engine/account_info.h |
| rename to google_apis/gcm/engine/account_mapping.h |
| index 94fe6d4e1762db2815dc6bc00cc55296c46b1e27..2d0da637dbebfcbffa3ddf3368e1cb4a0b506416 100644 |
| --- a/google_apis/gcm/engine/account_info.h |
| +++ b/google_apis/gcm/engine/account_mapping.h |
| @@ -2,8 +2,8 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef GOOGLE_APIS_GCM_ENGINE_ACCOUNT_INFO_H_ |
| -#define GOOGLE_APIS_GCM_ENGINE_ACCOUNT_INFO_H_ |
| +#ifndef GOOGLE_APIS_GCM_ENGINE_ACCOUNT_MAPPING_H_ |
| +#define GOOGLE_APIS_GCM_ENGINE_ACCOUNT_MAPPING_H_ |
| #include <string> |
| @@ -15,7 +15,20 @@ namespace gcm { |
| // Stores information about Account and a last message sent with the information |
| // about that account. |
| -struct GCM_EXPORT AccountInfo { |
| +struct GCM_EXPORT AccountMapping { |
| + // Status of the account mapping. |
| + enum MappingStatus { |
| + NEW, // This is a new account mapping entry. |
| + ADDING, // A mapping message has been sent, but it has not been confirmed |
| + // yet. |
| + MAPPED, // Account is mapped. At least one message has been confirmed to |
| + // reached the GCM. |
| + REMOVING, // Account is removed, but a message removing the mapping has not |
| + // been confirmed yet. |
| + REMOVED, // Account is removed, and at least one message has been |
| + // confirmed to have reached the GCM. |
| + }; |
| + |
| // Indicates whether a message, if sent, was adding or removing account |
| // mapping. |
| enum MessageType { |
| @@ -24,26 +37,30 @@ struct GCM_EXPORT AccountInfo { |
| MSG_REMOVE, // Account mapping to device was removed by the message. |
| }; |
| - AccountInfo(); |
| - ~AccountInfo(); |
| + AccountMapping(); |
| + ~AccountMapping(); |
| // Serializes account info to string without |account_id|. |
| std::string SerializeAsString() const; |
| // Parses account info from store, without |account_id|. |
| bool ParseFromString(const std::string& value); |
| - // Gaia ID of the account. |
| + // Gaia ID of the account. (Acts as key for persistence.) |
| std::string account_id; |
| // Email address of the tracked account. |
| std::string email; |
| + // OAuth2 access token used to authenticate mappings (not persisted). |
| + std::string access_token; |
| + // Status of the account mapping. |
|
Nicolas Zea
2014/08/06 19:10:12
Aren't we not going to persist the mapping status
fgorski
2014/08/06 20:44:43
Done.
|
| + MappingStatus status; |
| + // Time of the mapping status change. |
| + base::Time status_change_timestamp; |
| // Type of the last mapping message sent to GCM. |
| MessageType last_message_type; |
| // ID of the last mapping message sent to GCM. |
| std::string last_message_id; |
| - // Timestamp of when the last mapping message was sent to GCM. |
| - base::Time last_message_timestamp; |
| }; |
| } // namespace gcm |
| -#endif // GOOGLE_APIS_GCM_ENGINE_ACCOUNT_INFO_H_ |
| +#endif // GOOGLE_APIS_GCM_ENGINE_ACCOUNT_MAPPING_H_ |