| Index: components/gcm_driver/instance_id/instance_id_impl.h
|
| diff --git a/components/gcm_driver/instance_id/instance_id_impl.h b/components/gcm_driver/instance_id/instance_id_impl.h
|
| index dd7b77524bafdcc349139aa25d83d741de7334be..a5124c1430c16148d0c08407e3e992d9ac703f3d 100644
|
| --- a/components/gcm_driver/instance_id/instance_id_impl.h
|
| +++ b/components/gcm_driver/instance_id/instance_id_impl.h
|
| @@ -11,7 +11,9 @@
|
| #include "base/callback.h"
|
| #include "base/macros.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/time/time.h"
|
| +#include "components/gcm_driver/gcm_delayed_task_controller.h"
|
| #include "components/gcm_driver/instance_id/instance_id.h"
|
|
|
| namespace gcm {
|
| @@ -27,8 +29,8 @@ class InstanceIDImpl : public InstanceID {
|
| ~InstanceIDImpl() override;
|
|
|
| // InstanceID:
|
| - std::string GetID() override;
|
| - base::Time GetCreationTime() override;
|
| + void GetID(const GetIDCallback& callback) override;
|
| + void GetCreationTime(const GetCreationTimeCallback& callback) override;
|
| void GetToken(const std::string& authorized_entity,
|
| const std::string& scope,
|
| const std::map<std::string, std::string>& options,
|
| @@ -39,9 +41,22 @@ class InstanceIDImpl : public InstanceID {
|
| void DeleteID(const DeleteIDCallback& callback) override;
|
|
|
| private:
|
| + void EnsureIDGenerated();
|
| + void GetInstanceIDDataCompleted(const std::string& instance_id_data);
|
| +
|
| + void DoGetID(const GetIDCallback& callback);
|
| + void DoGetCreationTime(const GetCreationTimeCallback& callback);
|
| +
|
| + // Encodes/decodes the InstanceID data to work with the persistent store.
|
| + std::string SerializeAsString() const;
|
| + void Deserialize(const std::string& serialized_data);
|
| +
|
| gcm::GCMDriver* gcm_driver_; // Not owned.
|
|
|
| - void EnsureIDGenerated();
|
| + gcm::GCMDelayedTaskController delayed_task_controller_;
|
| +
|
| + // Flag to indicate that we have tries to load the data from the store.
|
| + bool load_from_store_;
|
|
|
| // The generated Instance ID.
|
| std::string id_;
|
| @@ -49,6 +64,8 @@ class InstanceIDImpl : public InstanceID {
|
| // The time when the Instance ID has been generated.
|
| base::Time creation_time_;
|
|
|
| + base::WeakPtrFactory<InstanceIDImpl> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(InstanceIDImpl);
|
| };
|
|
|
|
|