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 COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ | 5 #ifndef COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ |
6 #define COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ | 6 #define COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 12 matching lines...) Expand all Loading... |
23 } | 23 } |
24 | 24 |
25 namespace net { | 25 namespace net { |
26 class IPEndPoint; | 26 class IPEndPoint; |
27 class URLRequestContextGetter; | 27 class URLRequestContextGetter; |
28 } | 28 } |
29 | 29 |
30 namespace gcm { | 30 namespace gcm { |
31 | 31 |
32 class Encryptor; | 32 class Encryptor; |
| 33 struct AccountMapping; |
33 | 34 |
34 // Interface that encapsulates the network communications with the Google Cloud | 35 // Interface that encapsulates the network communications with the Google Cloud |
35 // Messaging server. This interface is not supposed to be thread-safe. | 36 // Messaging server. This interface is not supposed to be thread-safe. |
36 class GCMClient { | 37 class GCMClient { |
37 public: | 38 public: |
38 enum Result { | 39 enum Result { |
39 // Successful operation. | 40 // Successful operation. |
40 SUCCESS, | 41 SUCCESS, |
41 // Invalid parameter. | 42 // Invalid parameter. |
42 INVALID_PARAMETER, | 43 INVALID_PARAMETER, |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 // Clear all recorded GCM activity logs. | 270 // Clear all recorded GCM activity logs. |
270 virtual void ClearActivityLogs() = 0; | 271 virtual void ClearActivityLogs() = 0; |
271 | 272 |
272 // Gets internal states and statistics. | 273 // Gets internal states and statistics. |
273 virtual GCMStatistics GetStatistics() const = 0; | 274 virtual GCMStatistics GetStatistics() const = 0; |
274 | 275 |
275 // Sets a list of accounts with OAuth2 tokens for the next checkin. | 276 // Sets a list of accounts with OAuth2 tokens for the next checkin. |
276 // |account_tokens| maps email addresses to OAuth2 access tokens. | 277 // |account_tokens| maps email addresses to OAuth2 access tokens. |
277 virtual void SetAccountsForCheckin( | 278 virtual void SetAccountsForCheckin( |
278 const std::map<std::string, std::string>& account_tokens) = 0; | 279 const std::map<std::string, std::string>& account_tokens) = 0; |
| 280 |
| 281 // Persists the |account_mapping| in the store. |
| 282 virtual void UpdateAccountMapping(const AccountMapping& account_mapping) = 0; |
| 283 |
| 284 // Removes the account mapping related to |account_id| from the persistent |
| 285 // store. |
| 286 virtual void RemoveAccountMapping(const std::string& account_id) = 0; |
279 }; | 287 }; |
280 | 288 |
281 } // namespace gcm | 289 } // namespace gcm |
282 | 290 |
283 #endif // COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ | 291 #endif // COMPONENTS_GCM_DRIVER_GCM_CLIENT_H_ |
OLD | NEW |