Index: components/gcm_driver/gcm_driver_desktop.h |
diff --git a/components/gcm_driver/gcm_driver_desktop.h b/components/gcm_driver/gcm_driver_desktop.h |
index 422f0f5116d10b220141d34d3e8a7e09802ce034..f52dd6bbacbe5efd53100ecfa057cd9f8ecd02b7 100644 |
--- a/components/gcm_driver/gcm_driver_desktop.h |
+++ b/components/gcm_driver/gcm_driver_desktop.h |
@@ -43,7 +43,8 @@ class GCMClientFactory; |
class GCMDelayedTaskController; |
// GCMDriver implementation for desktop and Chrome OS, using GCMClient. |
-class GCMDriverDesktop : public GCMDriver { |
+class GCMDriverDesktop : public GCMDriver, |
+ public InstanceIDStore { |
public: |
GCMDriverDesktop( |
scoped_ptr<GCMClientFactory> gcm_client_factory, |
@@ -83,6 +84,14 @@ class GCMDriverDesktop : public GCMDriver { |
base::Time GetLastTokenFetchTime() override; |
void SetLastTokenFetchTime(const base::Time& time) override; |
void WakeFromSuspendForHeartbeat(bool wake) override; |
+ InstanceIDStore* GetInstanceIDStore() override; |
+ |
+ // InstanceIDStore overrides: |
+ void AddInstanceIDData(const std::string& app_id, |
+ const std::string& instance_id_data) override; |
+ void RemoveInstanceIDData(const std::string& app_id) override; |
+ void GetInstanceIDData(const std::string& app_id, |
+ const GetInstanceIDDataCallback& callback) override; |
// Exposed for testing purpose. |
bool gcm_enabled() const { return gcm_enabled_; } |
@@ -130,6 +139,8 @@ class GCMDriverDesktop : public GCMDriver { |
void OnDisconnected(); |
void GetGCMStatisticsFinished(const GCMClient::GCMStatistics& stats); |
+ void GetInstanceIDDataFinished(const std::string& app_id, |
+ const std::string& instance_id_data); |
scoped_ptr<GCMChannelStatusSyncer> gcm_channel_status_syncer_; |
@@ -172,6 +183,10 @@ class GCMDriverDesktop : public GCMDriver { |
// Callback for GetGCMStatistics. |
GetGCMStatisticsCallback request_gcm_statistics_callback_; |
+ // Callbacks for GetInstanceIDData. |
+ std::map<std::string, GetInstanceIDDataCallback> |
+ get_instance_id_data_callbacks_; |
+ |
// Used to pass a weak pointer to the IO worker. |
base::WeakPtrFactory<GCMDriverDesktop> weak_ptr_factory_; |