stub_user_accounts_delegate.cc revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// found in the LICENSE file.
4a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
5a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "chrome/browser/ui/ash/stub_user_accounts_delegate.h"
6a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
7a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include <cctype>
8a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
9a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "base/logging.h"
10a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
11a02191e04bc25c4935f804f2c080ae28663d096dBen MurdochStubUserAccountsDelegate::StubUserAccountsDelegate(const std::string& owner_id)
12a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    : primary_account_(owner_id) {}
13a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
14a02191e04bc25c4935f804f2c080ae28663d096dBen MurdochStubUserAccountsDelegate::~StubUserAccountsDelegate() {}
15a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)std::string StubUserAccountsDelegate::GetPrimaryAccountId() {
17a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return primary_account_;
18a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
19a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)std::vector<std::string> StubUserAccountsDelegate::GetSecondaryAccountIds() {
21a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return secondary_accounts_;
22a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
23a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
24a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochstd::string StubUserAccountsDelegate::GetAccountDisplayName(
25a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    const std::string& account_id) {
26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  std::string res(1, std::toupper(account_id[0]));
27a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  res += account_id.substr(1);
28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  return res;
29a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
30a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
31a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochvoid StubUserAccountsDelegate::DeleteAccount(const std::string& account_id) {
32a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  secondary_accounts_.erase(
33a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      std::remove(
34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch          secondary_accounts_.begin(), secondary_accounts_.end(), account_id),
35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      secondary_accounts_.end());
36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  NotifyAccountListChanged();
37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
38a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochvoid StubUserAccountsDelegate::AddAccount(const std::string& account_id) {
40a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  if (primary_account_ == account_id)
41a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    return;
42a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  if (std::find(secondary_accounts_.begin(),
43a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch                secondary_accounts_.end(),
44a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch                account_id) != secondary_accounts_.end())
45a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    return;
46a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  secondary_accounts_.push_back(account_id);
47a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  NotifyAccountListChanged();
48a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
49a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
50a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochvoid StubUserAccountsDelegate::LaunchAddAccountDialog() {
51a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  NOTIMPLEMENTED();
52a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}
53