Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / webui / chromeos / login / user_board_screen_handler.h
blob1c85437018562464c46c1797ba959bec7007482c
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"
14 namespace chromeos {
16 class SigninScreenHandler;
18 // A class that handles WebUI hooks in Gaia screen.
19 class UserBoardScreenHandler : public BaseScreenHandler, public UserBoardView {
20 public:
21 UserBoardScreenHandler();
22 ~UserBoardScreenHandler() override;
24 private:
25 // BaseScreenHandler implementation:
26 void DeclareLocalizedValues(
27 ::login::LocalizedValuesBuilder* builder) override;
29 // WebUIMessageHandler implementation:
30 void RegisterMessages() override;
31 void Initialize() override;
33 // Handlers
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;
50 void SetAuthType(
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_