summaryrefslogtreecommitdiffstats
path: root/components/gcm_driver/instance_id/instance_id_impl.h
diff options
context:
space:
mode:
authorjianli <jianli@chromium.org>2015-05-26 16:24:47 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-26 23:25:26 +0000
commit7a0c9b6d322d0a501fc114d3854df944fc059f0f (patch)
treeab8af00aaa656b0288ae748f007baa3dfb0c370f /components/gcm_driver/instance_id/instance_id_impl.h
parent45ab39af3cc293e150158bf06515a47319db9f79 (diff)
downloadchromium_src-7a0c9b6d322d0a501fc114d3854df944fc059f0f.zip
chromium_src-7a0c9b6d322d0a501fc114d3854df944fc059f0f.tar.gz
chromium_src-7a0c9b6d322d0a501fc114d3854df944fc059f0f.tar.bz2
Support getting and deleting token for Instance ID.
GCM's registration and unregistration request have been refactored to support token requests for Instance ID. BUG=477084 TEST=new tests Review URL: https://codereview.chromium.org/1137463003 Cr-Commit-Position: refs/heads/master@{#331475}
Diffstat (limited to 'components/gcm_driver/instance_id/instance_id_impl.h')
-rw-r--r--components/gcm_driver/instance_id/instance_id_impl.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/components/gcm_driver/instance_id/instance_id_impl.h b/components/gcm_driver/instance_id/instance_id_impl.h
index a5124c1..8b0d942 100644
--- a/components/gcm_driver/instance_id/instance_id_impl.h
+++ b/components/gcm_driver/instance_id/instance_id_impl.h
@@ -13,11 +13,13 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
+#include "components/gcm_driver/gcm_client.h"
#include "components/gcm_driver/gcm_delayed_task_controller.h"
#include "components/gcm_driver/instance_id/instance_id.h"
namespace gcm {
class GCMDriver;
+class InstanceIDHandler;
} // namespace gcm
namespace instance_id {
@@ -41,15 +43,31 @@ class InstanceIDImpl : public InstanceID {
void DeleteID(const DeleteIDCallback& callback) override;
private:
+ gcm::InstanceIDHandler* GetInstanceIDHandler() const;
+
void EnsureIDGenerated();
- void GetInstanceIDDataCompleted(const std::string& instance_id_data);
+
+ void OnGetTokenCompleted(const GetTokenCallback& callback,
+ const std::string& token,
+ gcm::GCMClient::Result result);
+ void OnDeleteTokenCompleted(const DeleteTokenCallback& callback,
+ gcm::GCMClient::Result result);
+ void OnDeleteIDCompleted(const DeleteIDCallback& callback,
+ gcm::GCMClient::Result result);
+ void GetInstanceIDDataCompleted(const std::string& instance_id,
+ const std::string& extra_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);
+ void DoGetToken(
+ const std::string& authorized_entity,
+ const std::string& scope,
+ const std::map<std::string, std::string>& options,
+ const GetTokenCallback& callback);
+ void DoDeleteToken(const std::string& authorized_entity,
+ const std::string& scope,
+ const DeleteTokenCallback& callback);
+ void DoDeleteID(const DeleteIDCallback& callback);
gcm::GCMDriver* gcm_driver_; // Not owned.