OLD | NEW |
| (Empty) |
1 // Copyright 2013 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_UI_ASH_LAUNCHER_MULTI_PROFILE_SHELL_WINDOW_LAUNCHER_CONTR
OLLER_H_ | |
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_SHELL_WINDOW_LAUNCHER_CONTR
OLLER_H_ | |
7 | |
8 #include "chrome/browser/ui/ash/launcher/shell_window_launcher_controller.h" | |
9 | |
10 // Inherits from ShellWindowLauncherController and overwrites the ShellWindow | |
11 // observing functions to switch between users dynamically. | |
12 // TODO(jamescook): Rename this to MultiProfileAppWindowLauncherController. | |
13 // http://crbug.com/344079 | |
14 class MultiProfileShellWindowLauncherController | |
15 : public ShellWindowLauncherController { | |
16 public: | |
17 explicit MultiProfileShellWindowLauncherController( | |
18 ChromeLauncherController* owner); | |
19 virtual ~MultiProfileShellWindowLauncherController(); | |
20 | |
21 // Overridden from ShellWindowLauncherController: | |
22 virtual void ActiveUserChanged(const std::string& user_email) OVERRIDE; | |
23 virtual void AdditionalUserAddedToSession(Profile* profile) OVERRIDE; | |
24 | |
25 // Overridden from AppWindowRegistry::Observer: | |
26 virtual void OnAppWindowAdded(apps::AppWindow* app_window) OVERRIDE; | |
27 virtual void OnAppWindowRemoved(apps::AppWindow* app_window) OVERRIDE; | |
28 | |
29 private: | |
30 typedef std::vector<apps::AppWindow*> AppWindowList; | |
31 typedef std::vector<apps::AppWindowRegistry*> AppWindowRegistryList; | |
32 | |
33 // A list of all app windows for all users. | |
34 AppWindowList app_window_list_; | |
35 | |
36 // A list of the app window registries which we additionally observe. | |
37 AppWindowRegistryList multi_user_registry_; | |
38 | |
39 DISALLOW_COPY_AND_ASSIGN(MultiProfileShellWindowLauncherController); | |
40 }; | |
41 | |
42 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_SHELL_WINDOW_LAUNCHER_CO
NTROLLER_H_ | |
OLD | NEW |