[GCM] Exposing persistence of account mappings in GCM Driver
* Enables GCMAccountMapper (patches to come) to persist AccountMappings
in GCMStore by calling GCMDriver.
* Passes UpdateAccountMapping and RemoveAccountMapping through:
* GCMDriverDesktop
* GCMDriverDesktop::IOWorker
* GCMClientImpl
BUG=374969
Review URL: https://codereview.chromium.org/445683003
Cr-Commit-Position: refs/heads/master@{#290928}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290928 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/components/gcm_driver/gcm_client.h b/components/gcm_driver/gcm_client.h
index e5082c5..8a7f7b2 100644
--- a/components/gcm_driver/gcm_client.h
+++ b/components/gcm_driver/gcm_client.h
@@ -30,6 +30,7 @@
namespace gcm {
class Encryptor;
+struct AccountMapping;
// Interface that encapsulates the network communications with the Google Cloud
// Messaging server. This interface is not supposed to be thread-safe.
@@ -276,6 +277,13 @@
// |account_tokens| maps email addresses to OAuth2 access tokens.
virtual void SetAccountsForCheckin(
const std::map<std::string, std::string>& account_tokens) = 0;
+
+ // Persists the |account_mapping| in the store.
+ virtual void UpdateAccountMapping(const AccountMapping& account_mapping) = 0;
+
+ // Removes the account mapping related to |account_id| from the persistent
+ // store.
+ virtual void RemoveAccountMapping(const std::string& account_id) = 0;
};
} // namespace gcm