| Index: google_apis/gcm/engine/checkin_request.h
|
| diff --git a/google_apis/gcm/engine/checkin_request.h b/google_apis/gcm/engine/checkin_request.h
|
| index e11089acd1f02282104eb140ca05a5462e6106bd..1d706a7d88d963ac7d787e88dbf168c9c6033a0d 100644
|
| --- a/google_apis/gcm/engine/checkin_request.h
|
| +++ b/google_apis/gcm/engine/checkin_request.h
|
| @@ -12,7 +12,7 @@
|
| #include "base/callback.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "google_apis/gcm/base/gcm_export.h"
|
| -#include "google_apis/gcm/protocol/android_checkin.pb.h"
|
| +#include "google_apis/gcm/protocol/checkin.pb.h"
|
| #include "net/base/backoff_entry.h"
|
| #include "net/url_request/url_fetcher_delegate.h"
|
|
|
| @@ -28,17 +28,35 @@ namespace gcm {
|
| // check-ins.
|
| class GCM_EXPORT CheckinRequest : public net::URLFetcherDelegate {
|
| public:
|
| - // A callback function for the checkin request, accepting |android_id| and
|
| - // |security_token|.
|
| - typedef base::Callback<void(uint64 android_id, uint64 security_token)>
|
| - CheckinRequestCallback;
|
| -
|
| - CheckinRequest(const CheckinRequestCallback& callback,
|
| + // A callback function for the checkin request, accepting |checkin_response|
|
| + // protobuf.
|
| + typedef base::Callback<void(const checkin_proto::AndroidCheckinResponse&
|
| + checkin_response)> CheckinRequestCallback;
|
| +
|
| + // Checkin request details.
|
| + struct GCM_EXPORT RequestInfo {
|
| + RequestInfo(uint64 android_id,
|
| + uint64 security_token,
|
| + const std::string& settings_digest,
|
| + const std::vector<std::string>& account_ids,
|
| + const checkin_proto::ChromeBuildProto& chrome_build_proto);
|
| + ~RequestInfo();
|
| +
|
| + // Android ID of the device.
|
| + uint64 android_id;
|
| + // Security token of the device.
|
| + uint64 security_token;
|
| + // Digest of GServices settings on the device.
|
| + std::string settings_digest;
|
| + // Account IDs of GAIA accounts related to this device.
|
| + std::vector<std::string> account_ids;
|
| + // Information of the Chrome build of this device.
|
| + checkin_proto::ChromeBuildProto chrome_build_proto;
|
| + };
|
| +
|
| + CheckinRequest(const RequestInfo& request_info,
|
| const net::BackoffEntry::Policy& backoff_policy,
|
| - const checkin_proto::ChromeBuildProto& chrome_build_proto,
|
| - uint64 android_id,
|
| - uint64 security_token,
|
| - const std::vector<std::string>& account_ids,
|
| + const CheckinRequestCallback& callback,
|
| net::URLRequestContextGetter* request_context_getter);
|
| virtual ~CheckinRequest();
|
|
|
| @@ -57,10 +75,7 @@ class GCM_EXPORT CheckinRequest : public net::URLFetcherDelegate {
|
|
|
| net::BackoffEntry backoff_entry_;
|
| scoped_ptr<net::URLFetcher> url_fetcher_;
|
| - const checkin_proto::ChromeBuildProto chrome_build_proto_;
|
| - const uint64 android_id_;
|
| - const uint64 security_token_;
|
| - const std::vector<std::string> account_ids_;
|
| + const RequestInfo request_info_;
|
|
|
| base::WeakPtrFactory<CheckinRequest> weak_ptr_factory_;
|
|
|
|
|