Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: components/gcm_driver/gcm_client_impl.h

Issue 1137463003: Support getting and deleting token for Instance ID. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch to land Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/gcm_driver/gcm_client.h ('k') | components/gcm_driver/gcm_client_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/gcm_driver/gcm_client_impl.h
diff --git a/components/gcm_driver/gcm_client_impl.h b/components/gcm_driver/gcm_client_impl.h
index e9f2f141ad04f7c28e3f926a64153ae849b39e94..a39ffddd16e7df3bf6897d6ecfbb432dc038eeb1 100644
--- a/components/gcm_driver/gcm_client_impl.h
+++ b/components/gcm_driver/gcm_client_impl.h
@@ -8,6 +8,7 @@
#include <map>
#include <set>
#include <string>
+#include <utility>
#include <vector>
#include "base/compiler_specific.h"
@@ -111,9 +112,9 @@ class GCMClientImpl
GCMClient::Delegate* delegate) override;
void Start(StartMode start_mode) override;
void Stop() override;
- void Register(const std::string& app_id,
- const std::vector<std::string>& sender_ids) override;
- void Unregister(const std::string& app_id) override;
+ void Register(const linked_ptr<RegistrationInfo>& registration_info) override;
+ void Unregister(
+ const linked_ptr<RegistrationInfo>& registration_info) override;
void Send(const std::string& app_id,
const std::string& receiver_id,
const OutgoingMessage& message) override;
@@ -127,9 +128,12 @@ class GCMClientImpl
void SetLastTokenFetchTime(const base::Time& time) override;
void UpdateHeartbeatTimer(scoped_ptr<base::Timer> timer) override;
void AddInstanceIDData(const std::string& app_id,
- const std::string& instance_id_data) override;
+ const std::string& instance_id,
+ const std::string& extra_data) override;
void RemoveInstanceIDData(const std::string& app_id) override;
- std::string GetInstanceIDData(const std::string& app_id) override;
+ void GetInstanceIDData(const std::string& app_id,
+ std::string* instance_id,
+ std::string* extra_data) override;
void AddHeartbeatInterval(const std::string& scope, int interval_ms) override;
void RemoveHeartbeatInterval(const std::string& scope) override;
@@ -165,17 +169,19 @@ class GCMClientImpl
std::set<std::string> last_checkin_accounts;
};
- // Collection of pending registration requests. Keys are app IDs, while values
- // are pending registration requests to obtain a registration ID for
- // requesting application.
- typedef std::map<std::string, RegistrationRequest*>
- PendingRegistrationRequests;
+ // Collection of pending registration requests. Keys are RegistrationInfo
+ // instance, while values are pending registration requests to obtain a
+ // registration ID for requesting application.
+ typedef std::map<linked_ptr<RegistrationInfo>,
+ RegistrationRequest*,
+ RegistrationInfoComparer> PendingRegistrationRequests;
- // Collection of pending unregistration requests. Keys are app IDs, while
- // values are pending unregistration requests to disable the registration ID
- // currently assigned to the application.
- typedef std::map<std::string, UnregistrationRequest*>
- PendingUnregistrationRequests;
+ // Collection of pending unregistration requests. Keys are RegistrationInfo
+ // instance, while values are pending unregistration requests to disable the
+ // registration ID currently assigned to the application.
+ typedef std::map<linked_ptr<RegistrationInfo>,
+ UnregistrationRequest*,
+ RegistrationInfoComparer> PendingUnregistrationRequests;
friend class GCMClientImplTest;
@@ -247,14 +253,15 @@ class GCMClientImpl
void ResetStoreCallback(bool success);
// Completes the registration request.
- void OnRegisterCompleted(const std::string& app_id,
- const std::vector<std::string>& sender_ids,
- RegistrationRequest::Status status,
- const std::string& registration_id);
+ void OnRegisterCompleted(
+ const linked_ptr<RegistrationInfo>& registration_info,
+ RegistrationRequest::Status status,
+ const std::string& registration_id);
// Completes the unregistration request.
- void OnUnregisterCompleted(const std::string& app_id,
- UnregistrationRequest::Status status);
+ void OnUnregisterCompleted(
+ const linked_ptr<RegistrationInfo>& registration_info,
+ UnregistrationRequest::Status status);
// Completes the GCM store destroy request.
void OnGCMStoreDestroyed(bool success);
@@ -347,8 +354,9 @@ class GCMClientImpl
// Time of the last successful checkin.
base::Time last_checkin_time_;
- // Cached instance ID data, key is app id.
- std::map<std::string, std::string> instance_id_data_;
+ // Cached instance ID data, key is app ID and value is pair of instance ID
+ // and extra data.
+ std::map<std::string, std::pair<std::string, std::string>> instance_id_data_;
// Factory for creating references when scheduling periodic checkin.
base::WeakPtrFactory<GCMClientImpl> periodic_checkin_ptr_factory_;
« no previous file with comments | « components/gcm_driver/gcm_client.h ('k') | components/gcm_driver/gcm_client_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698