diff options
Diffstat (limited to 'components/gcm_driver/gcm_driver_desktop.h')
-rw-r--r-- | components/gcm_driver/gcm_driver_desktop.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/components/gcm_driver/gcm_driver_desktop.h b/components/gcm_driver/gcm_driver_desktop.h index 422f0f5..f52dd6bb 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_; |