1// Copyright 2014 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_SETTINGS_DEVICE_IDENTITY_PROVIDER_H_ 6#define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_IDENTITY_PROVIDER_H_ 7 8#include "base/macros.h" 9#include "google_apis/gaia/identity_provider.h" 10 11namespace chromeos { 12 13class DeviceOAuth2TokenService; 14 15// Identity provider implementation backed by DeviceOAuth2TokenService. 16class DeviceIdentityProvider : public IdentityProvider { 17 public: 18 explicit DeviceIdentityProvider( 19 chromeos::DeviceOAuth2TokenService* token_service); 20 virtual ~DeviceIdentityProvider(); 21 22 // IdentityProvider: 23 virtual std::string GetActiveUsername() OVERRIDE; 24 virtual std::string GetActiveAccountId() OVERRIDE; 25 virtual OAuth2TokenService* GetTokenService() OVERRIDE; 26 virtual bool RequestLogin() OVERRIDE; 27 28 private: 29 chromeos::DeviceOAuth2TokenService* token_service_; 30 31 DISALLOW_COPY_AND_ASSIGN(DeviceIdentityProvider); 32}; 33 34} // namespace chromeos 35 36#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_IDENTITY_PROVIDER_H_ 37