1// Copyright 2014 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_WEBUI_OPTIONS_EASY_UNLOCK_HANDLER_H_
6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_EASY_UNLOCK_HANDLER_H_
7
8#include "base/macros.h"
9#include "chrome/browser/signin/easy_unlock_service_observer.h"
10#include "chrome/browser/ui/webui/options/options_ui.h"
11
12namespace options {
13
14class EasyUnlockHandler : public OptionsPageUIHandler,
15                          public EasyUnlockServiceObserver {
16 public:
17  EasyUnlockHandler();
18  virtual ~EasyUnlockHandler();
19
20  // OptionsPageUIHandler
21  virtual void InitializeHandler() OVERRIDE;
22  virtual void GetLocalizedValues(base::DictionaryValue* values) OVERRIDE;
23
24  // WebUIMessageHandler
25  virtual void RegisterMessages() OVERRIDE;
26
27  // EasyUnlockServiceObserver
28  virtual void OnTurnOffOperationStatusChanged() OVERRIDE;
29
30 private:
31  void SendTurnOffOperationStatus();
32
33  // JS callbacks.
34  void HandleGetTurnOffFlowStatus(const base::ListValue* args);
35  void HandleRequestTurnOff(const base::ListValue* args);
36  void HandlePageDismissed(const base::ListValue* args);
37
38  DISALLOW_COPY_AND_ASSIGN(EasyUnlockHandler);
39};
40
41}  // namespace options
42
43#endif  // CHROME_BROWSER_UI_WEBUI_OPTIONS_EASY_UNLOCK_HANDLER_H_
44