Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / ash / session_state_delegate_views.h
1 // Copyright (c) 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_SESSION_STATE_DELEGATE_VIEWS_H_
6 #define CHROME_BROWSER_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_
7
8 #include "ash/session/session_state_delegate.h"
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "base/observer_list.h"
12 #include "ui/gfx/image/image_skia.h"
13
14 namespace ash {
15 class SessionStateObserver;
16 }  // namespace ash
17
18 class SessionStateDelegate : public ash::SessionStateDelegate {
19  public:
20   SessionStateDelegate();
21   ~SessionStateDelegate() override;
22
23   // ash::SessionStateDelegate:
24   content::BrowserContext* GetBrowserContextByIndex(
25       ash::MultiProfileIndex index) override;
26   content::BrowserContext* GetBrowserContextForWindow(
27       aura::Window* window) override;
28   int GetMaximumNumberOfLoggedInUsers() const override;
29   int NumberOfLoggedInUsers() const override;
30   bool IsActiveUserSessionStarted() const override;
31   bool CanLockScreen() const override;
32   bool IsScreenLocked() const override;
33   bool ShouldLockScreenBeforeSuspending() const override;
34   void LockScreen() override;
35   void UnlockScreen() override;
36   bool IsUserSessionBlocked() const override;
37   SessionState GetSessionState() const override;
38   const user_manager::UserInfo* GetUserInfo(
39       ash::MultiProfileIndex index) const override;
40   const user_manager::UserInfo* GetUserInfo(
41       content::BrowserContext* context) const override;
42   bool ShouldShowAvatar(aura::Window* window) const override;
43   void SwitchActiveUser(const std::string& user_id) override;
44   void CycleActiveUser(CycleUser cycle_user) override;
45   bool IsMultiProfileAllowedByPrimaryUserPolicy() const override;
46   void AddSessionStateObserver(ash::SessionStateObserver* observer) override;
47   void RemoveSessionStateObserver(ash::SessionStateObserver* observer) override;
48
49  private:
50   DISALLOW_COPY_AND_ASSIGN(SessionStateDelegate);
51 };
52
53 #endif  // CHROME_BROWSER_UI_ASH_SESSION_STATE_DELEGATE_VIEWS_H_