// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef GOOGLE_APIS_GAIA_GAIA_URLS_H_ #define GOOGLE_APIS_GAIA_GAIA_URLS_H_ #include #include "base/macros.h" #include "base/memory/singleton.h" #include "url/gurl.h" // A signleton that provides all the URLs that are used for connecting to GAIA. class GaiaUrls { public: static GaiaUrls* GetInstance(); // The URLs for different calls in the Google Accounts programmatic login API. const GURL& google_url() const; const GURL& gaia_url() const; const GURL& captcha_base_url() const; const GURL& client_login_url() const; const GURL& service_login_url() const; const GURL& embedded_setup_chromeos_url() const; const GURL& service_login_auth_url() const; const GURL& service_logout_url() const; const GURL& issue_auth_token_url() const; const GURL& get_user_info_url() const; const GURL& token_auth_url() const; const GURL& merge_session_url() const; const GURL& get_oauth_token_url() const; const GURL& oauth_get_access_token_url() const; const GURL& oauth_wrap_bridge_url() const; const GURL& oauth_user_info_url() const; const GURL& oauth_revoke_token_url() const; const GURL& oauth1_login_url() const; const GURL& password_combined_embedded_signin_url() const; const GURL& embedded_signin_url() const; const GURL& add_account_url() const; const std::string& oauth2_chrome_client_id() const; const std::string& oauth2_chrome_client_secret() const; const GURL& client_login_to_oauth2_url() const; const GURL& oauth2_auth_url() const; const GURL& oauth2_token_url() const; const GURL& oauth2_issue_token_url() const; const GURL& oauth2_token_info_url() const; const GURL& oauth2_revoke_url() const; const GURL& oauth2_iframe_url() const; const GURL& gaia_login_form_realm() const; GURL ListAccountsURLWithSource(const std::string& source); GURL LogOutURLWithSource(const std::string& source); GURL GetCheckConnectionInfoURLWithSource(const std::string& source); // Continue URL used to signal the completion of the signin flow. GURL signin_completed_continue_url() const; private: GaiaUrls(); ~GaiaUrls(); friend struct base::DefaultSingletonTraits; GURL google_url_; GURL gaia_url_; GURL captcha_base_url_; GURL lso_origin_url_; GURL google_apis_origin_url_; GURL client_login_url_; GURL service_login_url_; GURL embedded_setup_chromeos_url_; GURL service_login_auth_url_; GURL service_logout_url_; GURL issue_auth_token_url_; GURL get_user_info_url_; GURL token_auth_url_; GURL merge_session_url_; GURL get_oauth_token_url_; GURL oauth_get_access_token_url_; GURL oauth_wrap_bridge_url_; GURL oauth_user_info_url_; GURL oauth_revoke_token_url_; GURL oauth1_login_url_; GURL list_accounts_url_; GURL password_combined_embedded_signin_url_; GURL embedded_signin_url_; GURL add_account_url_; GURL get_check_connection_info_url_; std::string oauth2_chrome_client_id_; std::string oauth2_chrome_client_secret_; GURL client_login_to_oauth2_url_; GURL oauth2_auth_url_; GURL oauth2_token_url_; GURL oauth2_issue_token_url_; GURL oauth2_token_info_url_; GURL oauth2_revoke_url_; GURL oauth2_iframe_url_; GURL gaia_login_form_realm_; DISALLOW_COPY_AND_ASSIGN(GaiaUrls); }; #endif // GOOGLE_APIS_GAIA_GAIA_URLS_H_