summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/ui/webui/signin/md_user_manager_ui.h
blob: 63bf9ceed78ce69b6128d9413ba2dbe3868f6ff7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright 2016 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_WEBUI_SIGNIN_MD_USER_MANAGER_UI_H_
#define CHROME_BROWSER_UI_WEBUI_SIGNIN_MD_USER_MANAGER_UI_H_

#include "base/macros.h"
#include "chrome/common/buildflags.h"
#include "content/public/browser/web_ui_controller.h"

class SigninCreateProfileHandler;
class UserManagerScreenHandler;

#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
class SigninSupervisedUserImportHandler;
#endif

namespace base {
class DictionaryValue;
}
namespace content {
class WebUIDataSource;
}

// A WebUI dialog to display available users.
class MDUserManagerUI : public content::WebUIController {
 public:
  explicit MDUserManagerUI(content::WebUI* web_ui);
  ~MDUserManagerUI() override;

 private:
  content::WebUIDataSource* CreateUIDataSource(
      const base::DictionaryValue& localized_strings);
  void GetLocalizedStrings(base::DictionaryValue* localized_strings);

  SigninCreateProfileHandler* signin_create_profile_handler_ = nullptr;
  UserManagerScreenHandler* user_manager_screen_handler_ = nullptr;

#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
  SigninSupervisedUserImportHandler* signin_supervised_user_import_handler_;
#endif

  DISALLOW_COPY_AND_ASSIGN(MDUserManagerUI);
};

#endif  // CHROME_BROWSER_UI_WEBUI_SIGNIN_MD_USER_MANAGER_UI_H_