summaryrefslogtreecommitdiffstats
path: root/components/gcm_driver/gcm_driver_desktop.h
diff options
context:
space:
mode:
Diffstat (limited to 'components/gcm_driver/gcm_driver_desktop.h')
-rw-r--r--components/gcm_driver/gcm_driver_desktop.h17
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_;