Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Side by Side Diff: ash/system/user/user_accounts_delegate.h

Issue 210903003: Implemented system tray UI for new account management. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed windows compilation. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 #include <string>
6 #include <vector>
7
8 #include "ash/ash_export.h"
9 #include "base/macros.h"
10 #include "base/observer_list.h"
11
12 namespace ash {
13 namespace tray {
14
15 class ASH_EXPORT UserAccountsDelegate {
16 public:
17 class Observer {
18 public:
19 Observer() {}
20 virtual ~Observer() {}
21
22 // Called when account list of user has been changed.
23 virtual void AccountListChanged() = 0;
24
25 private:
26 DISALLOW_COPY_AND_ASSIGN(Observer);
27 };
28
29 UserAccountsDelegate();
30 virtual ~UserAccountsDelegate();
31
32 void AddObserver(Observer* observer);
33 void RemoveObserver(Observer* observer);
34
35 // Returns user's primary account. It has form of canonized email.
36 virtual std::string GetPrimaryAccount() = 0;
37
38 // Returns list of user's secondary accounts. They have form of canonized
39 // emails.
40 virtual std::vector<std::string> GetSecondaryAccountsList() = 0;
41
42 // Returns display name for given |account_id|. It has form of email but could
43 // be not cananized, e.g. account "test-user@gmail.com" could have display
44 // name "Test-user+AfterPlus@gmail.com".
45 virtual std::string GetAccountDisplayName(const std::string& account_id) = 0;
46
47 // Deletes given |account_id| from the list of user's account. Passing
48 // |account_id| that is not from list is no-op.
49 virtual void DeleteAccount(const std::string& account_id) = 0;
50
51 // Launches dialog that offers user to add the new account.
52 virtual void LaunchAddAccountDialog() = 0;
53
54 protected:
55 void NotifyAccountListChanged();
56
57 private:
58 ObserverList<Observer> observers_;
59
60 DISALLOW_COPY_AND_ASSIGN(UserAccountsDelegate);
61 };
62
63 } // namespace tray
64 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698