blob: 9b95eee8e64ac6c996fec99f96ce4f8ead745ae6 [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_COCOA_BROWSER_PROFILE_CHOOSER_CONTROLLER_H_
#define CHROME_BROWSER_UI_COCOA_BROWSER_PROFILE_CHOOSER_CONTROLLER_H_
#import <Cocoa/Cocoa.h>
#include "base/memory/scoped_ptr.h"
#import "chrome/browser/ui/cocoa/base_bubble_controller.h"
class AvatarMenu;
class Browser;
// This window controller manages the bubble that displays a "menu" of profiles.
// It is brought open by clicking on the avatar icon in the window frame.
@interface ProfileChooserController : BaseBubbleController {
@private
// The menu that contains the data from the backend.
scoped_ptr<AvatarMenu> avatarMenu_;
// The browser that launched the bubble. Not owned.
Browser* browser_;
}
- (id)initWithBrowser:(Browser*)browser anchoredAt:(NSPoint)point;
// Creates a new profile.
- (IBAction)addNewProfile:(id)sender;
// Switches to a given profile. |sender| is an ProfileChooserItemController.
- (IBAction)switchToProfile:(id)sender;
// Shows the User Manager.
- (IBAction)showUserManager:(id)sender;
// Starts a guest browser window.
- (IBAction)switchToGuestProfile:(id)sender;
// Closes all guest browser windows.
- (IBAction)exitGuestProfile:(id)sender;
// Shows the account management view.
- (IBAction)showAccountManagement:(id)sender;
// Locks the active profile.
- (IBAction)lockProfile:(id)sender;
// Shows the signin page.
- (IBAction)showSigninPage:(id)sender;
@end
// Testing API /////////////////////////////////////////////////////////////////
@interface ProfileChooserController (ExposedForTesting)
- (id)initWithBrowser:(Browser*)browser anchoredAt:(NSPoint)point;
@end
#endif // CHROME_BROWSER_UI_COCOA_BROWSER_PROFILE_CHOOSER_CONTROLLER_H_