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.
5 #ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_
6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_
8 #include "chrome/browser/ui/ash/launcher/browser_status_monitor.h"
10 // MultiProfileBrowserStatusMonitor uses mainly the BrowserStatusMonitor
11 // with the addition that it creates and destroys launcher items for windowed
12 // V1 apps - upon creation as well as upon user switch.
13 class MultiProfileBrowserStatusMonitor
: public BrowserStatusMonitor
{
15 explicit MultiProfileBrowserStatusMonitor(
16 ChromeLauncherController
* launcher_controller
);
17 virtual ~MultiProfileBrowserStatusMonitor();
19 // BrowserStatusMonitor overrides.
20 virtual void ActiveUserChanged(const std::string
& user_email
) OVERRIDE
;
21 virtual void AddV1AppToShelf(Browser
* browser
) OVERRIDE
;
22 virtual void RemoveV1AppFromShelf(Browser
* browser
) OVERRIDE
;
25 typedef std::vector
<Browser
*> AppList
;
28 // Connect a V1 app to the launcher.
29 void ConnectV1AppToLauncher(Browser
* browser
);
31 // Disconnect a V1 app from the launcher.
32 void DisconnectV1AppFromLauncher(Browser
* browser
);
34 // The launcher controller which is associated with this object.
35 ChromeLauncherController
* launcher_controller_
;
37 DISALLOW_COPY_AND_ASSIGN(MultiProfileBrowserStatusMonitor
);
40 #endif // CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_BROWSER_STATUS_MONITOR_H_