106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use of this source code is governed by a BSD-style license that can be 306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// found in the LICENSE file. 406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#ifndef CHROME_COMMON_NET_GAIA_GAIA_AUTH_CONSUMER_H_ 606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#define CHROME_COMMON_NET_GAIA_GAIA_AUTH_CONSUMER_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include <string> 1006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 113345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass GoogleServiceAuthError; 123345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 1306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// An interface that defines the callbacks for objects that 144a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch// GaiaAuthFetcher can return data to. 1506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochclass GaiaAuthConsumer { 1606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch public: 1706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch struct ClientLoginResult { 1872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen ClientLoginResult(); 1972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen ClientLoginResult(const std::string& new_sid, 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const std::string& new_lsid, 2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const std::string& new_token, 2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen const std::string& new_data); 2372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen ~ClientLoginResult(); 2406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 2572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen bool operator==(const ClientLoginResult &b) const; 2606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 2706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch std::string sid; 2806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch std::string lsid; 2906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch std::string token; 3006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch // TODO(chron): Remove the data field later. Don't use it if possible. 3106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch std::string data; // Full contents of ClientLogin return. 32201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch bool two_factor; // set to true if there was a TWO_FACTOR "failure". 3306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch }; 3406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 3506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch virtual ~GaiaAuthConsumer() {} 3606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 3706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch virtual void OnClientLoginSuccess(const ClientLoginResult& result) {} 383345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual void OnClientLoginFailure(const GoogleServiceAuthError& error) {} 3906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 4006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch virtual void OnIssueAuthTokenSuccess(const std::string& service, 4106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch const std::string& auth_token) {} 4206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch virtual void OnIssueAuthTokenFailure(const std::string& service, 433345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick const GoogleServiceAuthError& error) {} 443345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 453345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual void OnGetUserInfoSuccess(const std::string& key, 463345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick const std::string& value) {} 473345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual void OnGetUserInfoKeyNotFound(const std::string& key) {} 483345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick virtual void OnGetUserInfoFailure(const GoogleServiceAuthError& error) {} 4906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}; 5006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 5106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#endif // CHROME_COMMON_NET_GAIA_GAIA_AUTH_CONSUMER_H_ 52