1// Copyright (c) 2011 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_SYNC_SYNC_SETUP_FLOW_HANDLER_H_
6#define CHROME_BROWSER_SYNC_SYNC_SETUP_FLOW_HANDLER_H_
7#pragma once
8
9#include <string>
10
11#include "content/browser/webui/web_ui.h"
12
13class DictionaryValue;
14class SyncSetupFlow;
15
16class SyncSetupFlowHandler {
17 public:
18  // These functions control which part of the HTML is visible.
19  virtual void ShowGaiaLogin(const DictionaryValue& args) = 0;
20  virtual void ShowGaiaSuccessAndClose() = 0;
21  virtual void ShowGaiaSuccessAndSettingUp() = 0;
22  virtual void ShowConfigure(const DictionaryValue& args) = 0;
23  virtual void ShowPassphraseEntry(const DictionaryValue& args) = 0;
24  virtual void ShowFirstPassphrase(const DictionaryValue& args) = 0;
25  virtual void ShowSettingUp() = 0;
26  virtual void ShowSetupDone(const std::wstring& user) = 0;
27  virtual void ShowFirstTimeDone(const std::wstring& user) = 0;
28
29  virtual void SetFlow(SyncSetupFlow* flow) = 0;
30
31 protected:
32  virtual ~SyncSetupFlowHandler() {}
33};
34
35#endif  // CHROME_BROWSER_SYNC_SYNC_SETUP_FLOW_HANDLER_H_
36