#ifndef CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_APP_WINDOW_LAUNCHER_CONTROLLER_H_
#define CHROME_BROWSER_UI_ASH_LAUNCHER_MULTI_PROFILE_APP_WINDOW_LAUNCHER_CONTROLLER_H_
#include "chrome/browser/ui/ash/launcher/app_window_launcher_controller.h"
class MultiProfileAppWindowLauncherController
: public AppWindowLauncherController {
public:
explicit MultiProfileAppWindowLauncherController(
ChromeLauncherController* owner);
virtual ~MultiProfileAppWindowLauncherController();
virtual void ActiveUserChanged(const std::string& user_email) OVERRIDE;
virtual void AdditionalUserAddedToSession(Profile* profile) OVERRIDE;
virtual void OnAppWindowAdded(apps::AppWindow* app_window) OVERRIDE;
virtual void OnAppWindowRemoved(apps::AppWindow* app_window) OVERRIDE;
private:
typedef std::vector<apps::AppWindow*> AppWindowList;
typedef std::vector<apps::AppWindowRegistry*> AppWindowRegistryList;
bool UserHasAppOnActiveDesktop(apps::AppWindow* app_window);
AppWindowList app_window_list_;
AppWindowRegistryList multi_user_registry_;
DISALLOW_COPY_AND_ASSIGN(MultiProfileAppWindowLauncherController);
};
#endif