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_WEBUI_CHROMEOS_LOGIN_USER_BOARD_SCREEN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_USER_BOARD_SCREEN_HANDLER_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/values.h"
11 #include "chrome/browser/chromeos/login/ui/views/user_board_view.h"
12 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
16 class SigninScreenHandler
;
18 // A class that handles WebUI hooks in Gaia screen.
19 class UserBoardScreenHandler
: public BaseScreenHandler
, public UserBoardView
{
21 UserBoardScreenHandler();
22 ~UserBoardScreenHandler() override
;
25 // BaseScreenHandler implementation:
26 void DeclareLocalizedValues(
27 ::login::LocalizedValuesBuilder
* builder
) override
;
29 // WebUIMessageHandler implementation:
30 void RegisterMessages() override
;
31 void Initialize() override
;
34 void HandleGetUsers();
35 void HandleHardlockPod(const std::string
& user_id
);
36 void HandleAttemptUnlock(const std::string
& user_id
);
37 void HandleRecordClickOnLockIcon(const std::string
& user_id
);
39 // UserBoardView implementation:
40 void SetPublicSessionDisplayName(const std::string
& user_id
,
41 const std::string
& display_name
) override
;
42 void SetPublicSessionLocales(const std::string
& user_id
,
43 scoped_ptr
<base::ListValue
> locales
,
44 const std::string
& default_locale
,
45 bool multiple_recommended_locales
) override
;
46 void ShowBannerMessage(const base::string16
& message
) override
;
47 void ShowUserPodCustomIcon(const std::string
& user_id
,
48 const base::DictionaryValue
& icon
) override
;
49 void HideUserPodCustomIcon(const std::string
& user_id
) override
;
51 const std::string
& user_id
,
52 proximity_auth::ScreenlockBridge::LockHandler::AuthType auth_type
,
53 const base::string16
& initial_value
) override
;
55 void Bind(UserBoardModel
& model
) override
;
56 void Unbind() override
;
58 UserBoardModel
* model_
;
60 DISALLOW_COPY_AND_ASSIGN(UserBoardScreenHandler
);
63 } // namespace chromeos
65 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_USER_BOARD_SCREEN_HANDLER_H_