text: // 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 REMOTING_HOST_SETUP_OAUTH_HELPER_H
  #define REMOTING_HOST_SETUP_OAUTH_HELPER_H
  
  #include <string>
  
  namespace remoting {
  
  // Gets the OAuth scope of the host's refresh token.
  std::string GetOauthScope();
  
  // Gets the default redirect URL for the OAuth dance.
  std::string GetDefaultOauthRedirectUrl();
  
  // Gets a URL at which the OAuth dance starts.
  std::string GetOauthStartUrl(const std::string& redirect_url);
  
  // Returns the OAuth authorization code embedded in a URL, or the empty string
  // if there is no such code.
  // To get an OAuth authorization code, (i) start a browser, (ii) navigate it
  // to |GetOauthStartUrl()|, (iii) ask the user to sign on to their account,
  // and grant the requested permissions, (iv) monitor the URLs that the browser
  // shows, passing each one to |GetOauthCodeInUrl()|, until that function returns
  // a non-empty string. That string is the authorization code.
  std::string GetOauthCodeInUrl(const std::string& url,
                                const std::string& redirect_url);
  
  }  // namespace remoting
  
  #endif  // REMOTING_HOST_SETUP_OAUTH_HELPER_H
  