// Copyright 2014 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 CHROME_BROWSER_UI_ASH_USER_ACCOUNTS_DELEGATE_CHROMEOS_H_ #define CHROME_BROWSER_UI_ASH_USER_ACCOUNTS_DELEGATE_CHROMEOS_H_ #include "ash/system/user/user_accounts_delegate.h" #include "base/compiler_specific.h" #include "base/macros.h" #include "google_apis/gaia/oauth2_token_service.h" class Profile; namespace chromeos { class UserAccountsDelegateChromeOS : public ash::tray::UserAccountsDelegate, public OAuth2TokenService::Observer { public: explicit UserAccountsDelegateChromeOS(Profile* user_profile); ~UserAccountsDelegateChromeOS() override; // Overridden from ash::tray::UserAccountsDelegate: std::string GetPrimaryAccountId() override; std::vector<std::string> GetSecondaryAccountIds() override; std::string GetAccountDisplayName(const std::string& account_id) override; void DeleteAccount(const std::string& account_id) override; void LaunchAddAccountDialog() override; // Overridden from OAuth2TokenServiceObserver: void OnRefreshTokenAvailable(const std::string& account_id) override; void OnRefreshTokenRevoked(const std::string& account_id) override; private: Profile* user_profile_; DISALLOW_COPY_AND_ASSIGN(UserAccountsDelegateChromeOS); }; } // namespace chromeos #endif // CHROME_BROWSER_UI_ASH_USER_ACCOUNTS_DELEGATE_CHROMEOS_H_