Roll src/third_party/WebKit 3529d49:06e8485 (svn 202554:202555)
[chromium-blink-merge.git] / google_apis / gcm / engine / instance_id_delete_token_request_handler.h
blobcd10d34670204820dc7f50229839fe8c21cbc720
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef GOOGLE_APIS_GCM_ENGINE_INSTANCE_ID_DELETE_TOKEN_REQUEST_HANDLER_H_
6 #define GOOGLE_APIS_GCM_ENGINE_INSTANCE_ID_DELETE_TOKEN_REQUEST_HANDLER_H_
8 #include <string>
10 #include "google_apis/gcm/engine/unregistration_request.h"
12 namespace gcm {
14 // Provides custom logic to handle DeleteToken request for InstanceID.
15 class GCM_EXPORT InstanceIDDeleteTokenRequestHandler :
16 public UnregistrationRequest::CustomRequestHandler {
17 public:
18 InstanceIDDeleteTokenRequestHandler(
19 const std::string& instance_id,
20 const std::string& authorized_entity,
21 const std::string& scope,
22 int gcm_version);
23 ~InstanceIDDeleteTokenRequestHandler() override;
25 // UnregistrationRequest overrides:
26 void BuildRequestBody(std::string* body) override;
27 UnregistrationRequest::Status ParseResponse(
28 const net::URLFetcher* source) override;
29 void ReportUMAs(UnregistrationRequest::Status status,
30 int retry_count,
31 base::TimeDelta complete_time) override;
33 private:
34 std::string instance_id_;
35 std::string authorized_entity_;
36 std::string scope_;
37 int gcm_version_;
39 DISALLOW_COPY_AND_ASSIGN(InstanceIDDeleteTokenRequestHandler);
42 } // namespace gcm
44 #endif // GOOGLE_APIS_GCM_ENGINE_INSTANCE_ID_DELETE_TOKEN_REQUEST_HANDLER_H_