| Index: components/gcm_driver/gcm_client.h
|
| diff --git a/components/gcm_driver/gcm_client.h b/components/gcm_driver/gcm_client.h
|
| index 867223391241d3179ffffb2f818ad69a9d06e5a6..cb6042f07b013ce51c11dab6f03eb2aed2155c48 100644
|
| --- a/components/gcm_driver/gcm_client.h
|
| +++ b/components/gcm_driver/gcm_client.h
|
| @@ -10,8 +10,10 @@
|
| #include <vector>
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/memory/linked_ptr.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "components/gcm_driver/gcm_activity.h"
|
| +#include "components/gcm_driver/registration_info.h"
|
|
|
| template <class T> class scoped_refptr;
|
|
|
| @@ -163,18 +165,22 @@ class GCMClient {
|
| class Delegate {
|
| public:
|
| // Called when the registration completed successfully or an error occurs.
|
| - // |app_id|: application ID.
|
| + // |registration_info|: the specific information required for the
|
| + // registration.
|
| // |registration_id|: non-empty if the registration completed successfully.
|
| // |result|: the type of the error if an error occured, success otherwise.
|
| - virtual void OnRegisterFinished(const std::string& app_id,
|
| - const std::string& registration_id,
|
| - Result result) = 0;
|
| + virtual void OnRegisterFinished(
|
| + const linked_ptr<RegistrationInfo>& registration_info,
|
| + const std::string& registration_id,
|
| + Result result) = 0;
|
|
|
| // Called when the unregistration completed.
|
| - // |app_id|: application ID.
|
| + // |registration_info|: the specific information required for the
|
| + // registration.
|
| // |result|: result of the unregistration.
|
| - virtual void OnUnregisterFinished(const std::string& app_id,
|
| - GCMClient::Result result) = 0;
|
| + virtual void OnUnregisterFinished(
|
| + const linked_ptr<RegistrationInfo>& registration_info,
|
| + GCMClient::Result result) = 0;
|
|
|
| // Called when the message is scheduled to send successfully or an error
|
| // occurs.
|
| @@ -258,20 +264,24 @@ class GCMClient {
|
| // Stops using the GCM service. This will not erase the persisted data.
|
| virtual void Stop() = 0;
|
|
|
| - // Registers the application for GCM. Delegate::OnRegisterFinished will be
|
| - // called asynchronously upon completion.
|
| - // |app_id|: application ID.
|
| - // |sender_ids|: list of IDs of the servers that are allowed to send the
|
| - // messages to the application. These IDs are assigned by the
|
| - // Google API Console.
|
| - virtual void Register(const std::string& app_id,
|
| - const std::vector<std::string>& sender_ids) = 0;
|
| + // Registers with the server to access the provided service.
|
| + // Delegate::OnRegisterFinished will be called asynchronously upon completion.
|
| + // |registration_info|: the specific information required for the
|
| + // registration. For GCM, it will contain app id and
|
| + // sender IDs. For InstanceID, it will contain app_id,
|
| + // authorized entity and scope.
|
| + virtual void Register(
|
| + const linked_ptr<RegistrationInfo>& registration_info) = 0;
|
|
|
| - // Unregisters the application from GCM when it is uninstalled.
|
| + // Unregisters from the server to stop accessing the provided service.
|
| // Delegate::OnUnregisterFinished will be called asynchronously upon
|
| // completion.
|
| - // |app_id|: application ID.
|
| - virtual void Unregister(const std::string& app_id) = 0;
|
| + // |registration_info|: the specific information required for the
|
| + // registration. For GCM, it will contain app id (sender
|
| + // IDs can be ingored). For InstanceID, it will contain
|
| + // app id, authorized entity and scope.
|
| + virtual void Unregister(
|
| + const linked_ptr<RegistrationInfo>& registration_info) = 0;
|
|
|
| // Sends a message to a given receiver. Delegate::OnSendFinished will be
|
| // called asynchronously upon completion.
|
| @@ -312,14 +322,17 @@ class GCMClient {
|
|
|
| // Adds the Instance ID data for a specific app to the persistent store.
|
| virtual void AddInstanceIDData(const std::string& app_id,
|
| - const std::string& instance_id_data) = 0;
|
| + const std::string& instance_id,
|
| + const std::string& extra_data) = 0;
|
|
|
| // Removes the Instance ID data for a specific app from the persistent store.
|
| virtual void RemoveInstanceIDData(const std::string& app_id) = 0;
|
|
|
| // Retrieves the Instance ID data for a specific app from the persistent
|
| // store.
|
| - virtual std::string GetInstanceIDData(const std::string& app_id) = 0;
|
| + virtual void GetInstanceIDData(const std::string& app_id,
|
| + std::string* instance_id,
|
| + std::string* extra_data) = 0;
|
|
|
| // Gets and sets custom heartbeat interval for the MCS connection.
|
| // |scope| is used to identify the component that requests a custom interval
|
|
|