OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/mus/ws/user_id_tracker.h" | 5 #include "components/mus/ws/user_id_tracker.h" |
6 | 6 |
7 #include "components/mus/ws/user_id_tracker_observer.h" | 7 #include "components/mus/ws/user_id_tracker_observer.h" |
8 #include "mojo/shell/public/interfaces/connector.mojom.h" | 8 #include "mojo/shell/public/interfaces/connector.mojom.h" |
9 | 9 |
10 namespace mus { | 10 namespace mus { |
11 namespace ws { | 11 namespace ws { |
12 | 12 |
13 UserIdTracker::UserIdTracker() | 13 UserIdTracker::UserIdTracker() |
14 : active_id_(mojo::shell::mojom::Connector::kInvalidApplicationID) {} | 14 : active_id_(mojo::shell::mojom::kRootUserID) {} |
15 UserIdTracker::~UserIdTracker() { | 15 UserIdTracker::~UserIdTracker() { |
16 DCHECK(ids_.empty()); | 16 DCHECK(ids_.empty()); |
17 } | 17 } |
18 | 18 |
19 bool UserIdTracker::IsValidUserId(UserId id) const { | 19 bool UserIdTracker::IsValidUserId(const UserId& id) const { |
20 return ids_.count(id) > 0; | 20 return ids_.count(id) > 0; |
21 } | 21 } |
22 | 22 |
23 void UserIdTracker::SetActiveUserId(UserId id) { | 23 void UserIdTracker::SetActiveUserId(const UserId& id) { |
24 if (id == active_id_) | 24 if (id == active_id_) |
25 return; | 25 return; |
26 | 26 |
27 active_id_ = id; | 27 active_id_ = id; |
28 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, | 28 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, |
29 OnActiveUserIdChanged(id)); | 29 OnActiveUserIdChanged(id)); |
30 } | 30 } |
31 | 31 |
32 void UserIdTracker::AddUserId(UserId id) { | 32 void UserIdTracker::AddUserId(const UserId& id) { |
33 DCHECK(!IsValidUserId(id)); | 33 DCHECK(!IsValidUserId(id)); |
34 ids_.insert(id); | 34 ids_.insert(id); |
35 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, OnUserIdAdded(id)); | 35 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, OnUserIdAdded(id)); |
36 } | 36 } |
37 | 37 |
38 void UserIdTracker::RemoveUserId(UserId id) { | 38 void UserIdTracker::RemoveUserId(const UserId& id) { |
39 DCHECK(IsValidUserId(id)); | 39 DCHECK(IsValidUserId(id)); |
40 ids_.erase(id); | 40 ids_.erase(id); |
41 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, OnUserIdRemoved(id)); | 41 FOR_EACH_OBSERVER(UserIdTrackerObserver, observers_, OnUserIdRemoved(id)); |
42 } | 42 } |
43 | 43 |
44 void UserIdTracker::AddObserver(UserIdTrackerObserver* observer) { | 44 void UserIdTracker::AddObserver(UserIdTrackerObserver* observer) { |
45 observers_.AddObserver(observer); | 45 observers_.AddObserver(observer); |
46 } | 46 } |
47 | 47 |
48 void UserIdTracker::RemoveObserver(UserIdTrackerObserver* observer) { | 48 void UserIdTracker::RemoveObserver(UserIdTrackerObserver* observer) { |
49 observers_.RemoveObserver(observer); | 49 observers_.RemoveObserver(observer); |
50 } | 50 } |
51 | 51 |
52 } // namespace ws | 52 } // namespace ws |
53 } // namespace mus | 53 } // namespace mus |
OLD | NEW |