• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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.
4 
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_AUTH_RESPONSE_HANDLER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_AUTH_RESPONSE_HANDLER_H_
7 #pragma once
8 
9 #include <string>
10 
11 #include "chrome/common/net/url_fetcher.h"
12 
13 class GURL;
14 
15 namespace chromeos {
16 
17 // The success code specified by the HTTP spec.
18 extern const int kHttpSuccess;
19 
20 class AuthResponseHandler {
21  public:
AuthResponseHandler()22   AuthResponseHandler() {}
~AuthResponseHandler()23   virtual ~AuthResponseHandler() {}
24 
25   // True if this object can handle responses from |url|, false otherwise.
26   virtual bool CanHandle(const GURL& url) = 0;
27 
28   // Caller takes ownership of return value.
29   // Takes in |to_process|, creates an appropriate URLFetcher to handle
30   // the next step, sets |catcher| to get called back when that fetcher is done.
31   // Starts the fetch and returns the fetcher, so the the caller can handle
32   // the object lifetime.
33   virtual URLFetcher* Handle(const std::string& to_process,
34                              URLFetcher::Delegate* catcher) = 0;
35 
36   // The URLs for different calls in the Google Accounts programmatic login API.
37   static const char kClientLoginUrl[];
38   static const char kIssueAuthTokenUrl[];
39   static const char kTokenAuthUrl[];
40 };
41 
42 }  // namespace chromeos
43 
44 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_AUTH_RESPONSE_HANDLER_H_
45