780f6206af4de0705e68ba3396635f62293f0b7a
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / chromeos / login / update_screen_handler.h
1 // Copyright (c) 2012 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_CHROMEOS_LOGIN_UPDATE_SCREEN_HANDLER_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_UPDATE_SCREEN_HANDLER_H_
7
8 #include <string>
9
10 #include "base/compiler_specific.h"
11 #include "chrome/browser/chromeos/login/screens/update_screen_actor.h"
12 #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h"
13 #include "chrome/browser/ui/webui/chromeos/login/network_dropdown_handler.h"
14
15 namespace chromeos {
16
17 class UpdateScreenHandler : public UpdateScreenActor,
18                             public BaseScreenHandler,
19                             public NetworkDropdownHandler::Observer {
20  public:
21   UpdateScreenHandler();
22   virtual ~UpdateScreenHandler();
23
24   // BaseScreenHandler implementation:
25   virtual void DeclareLocalizedValues(LocalizedValuesBuilder* builder) override;
26   virtual void Initialize() override;
27
28   // UpdateScreenActor implementation:
29   virtual void SetDelegate(UpdateScreenActor::Delegate* screen) override;
30   virtual void Show() override;
31   virtual void Hide() override;
32   virtual void PrepareToShow() override;
33   virtual void ShowManualRebootInfo() override;
34   virtual void SetProgress(int progress) override;
35   virtual void ShowEstimatedTimeLeft(bool visible) override;
36   virtual void SetEstimatedTimeLeft(const base::TimeDelta& time) override;
37   virtual void ShowProgressMessage(bool visible) override;
38   virtual void SetProgressMessage(ProgressMessage message) override;
39   virtual void ShowCurtain(bool visible) override;
40
41   // WebUIMessageHandler implementation:
42   virtual void RegisterMessages() override;
43
44  private:
45   // NetworkDropdownHandler::Observer implementation:
46   virtual void OnConnectToNetworkRequested() override;
47
48 #if !defined(OFFICIAL_BUILD)
49   // Called when user presses Escape to cancel update.
50   void HandleUpdateCancel();
51 #endif
52
53   UpdateScreenActor::Delegate* screen_;
54
55   // Keeps whether screen should be shown right after initialization.
56   bool show_on_init_;
57
58   DISALLOW_COPY_AND_ASSIGN(UpdateScreenHandler);
59 };
60
61 }  // namespace chromeos
62
63 #endif  // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_UPDATE_SCREEN_HANDLER_H_