OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ | 5 #ifndef GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ |
6 #define GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ | 6 #define GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 uint64 device_security_token; | 49 uint64 device_security_token; |
50 RegistrationInfoMap registrations; | 50 RegistrationInfoMap registrations; |
51 std::vector<std::string> incoming_messages; | 51 std::vector<std::string> incoming_messages; |
52 OutgoingMessageMap outgoing_messages; | 52 OutgoingMessageMap outgoing_messages; |
53 std::map<std::string, std::string> gservices_settings; | 53 std::map<std::string, std::string> gservices_settings; |
54 std::string gservices_digest; | 54 std::string gservices_digest; |
55 base::Time last_checkin_time; | 55 base::Time last_checkin_time; |
56 std::set<std::string> last_checkin_accounts; | 56 std::set<std::string> last_checkin_accounts; |
57 AccountMappings account_mappings; | 57 AccountMappings account_mappings; |
58 base::Time last_token_fetch_time; | 58 base::Time last_token_fetch_time; |
| 59 std::map<std::string, int> heartbeat_intervals; |
59 }; | 60 }; |
60 | 61 |
61 typedef std::vector<std::string> PersistentIdList; | 62 typedef std::vector<std::string> PersistentIdList; |
62 typedef base::Callback<void(scoped_ptr<LoadResult> result)> LoadCallback; | 63 typedef base::Callback<void(scoped_ptr<LoadResult> result)> LoadCallback; |
63 typedef base::Callback<void(bool success)> UpdateCallback; | 64 typedef base::Callback<void(bool success)> UpdateCallback; |
64 | 65 |
65 GCMStore(); | 66 GCMStore(); |
66 virtual ~GCMStore(); | 67 virtual ~GCMStore(); |
67 | 68 |
68 // Load the data from persistent store and pass the initial state back to | 69 // Load the data from persistent store and pass the initial state back to |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 // Sets the account information related to device to account mapping. | 127 // Sets the account information related to device to account mapping. |
127 virtual void AddAccountMapping(const AccountMapping& account_mapping, | 128 virtual void AddAccountMapping(const AccountMapping& account_mapping, |
128 const UpdateCallback& callback) = 0; | 129 const UpdateCallback& callback) = 0; |
129 virtual void RemoveAccountMapping(const std::string& account_id, | 130 virtual void RemoveAccountMapping(const std::string& account_id, |
130 const UpdateCallback& callback) = 0; | 131 const UpdateCallback& callback) = 0; |
131 | 132 |
132 // Sets last token fetch time. | 133 // Sets last token fetch time. |
133 virtual void SetLastTokenFetchTime(const base::Time& time, | 134 virtual void SetLastTokenFetchTime(const base::Time& time, |
134 const UpdateCallback& callback) = 0; | 135 const UpdateCallback& callback) = 0; |
135 | 136 |
| 137 // Sets the custom client heartbeat interval for a specified scope. |
| 138 virtual void AddHeartbeatInterval(const std::string& scope, |
| 139 int interval_ms, |
| 140 const UpdateCallback& callback) = 0; |
| 141 virtual void RemoveHeartbeatInterval(const std::string& scope, |
| 142 const UpdateCallback& callback) = 0; |
| 143 |
136 private: | 144 private: |
137 DISALLOW_COPY_AND_ASSIGN(GCMStore); | 145 DISALLOW_COPY_AND_ASSIGN(GCMStore); |
138 }; | 146 }; |
139 | 147 |
140 } // namespace gcm | 148 } // namespace gcm |
141 | 149 |
142 #endif // GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ | 150 #endif // GOOGLE_APIS_GCM_ENGINE_GCM_STORE_H_ |
OLD | NEW |