blob: 7de7253cfd6d326b6417c1c19ac5eb155508fbb1 (
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
48
49
50
|
// Copyright (c) 2006-2008 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_VIEWS_SYNC_SYNC_SETUP_WIZARD_H_
#define CHROME_BROWSER_VIEWS_SYNC_SYNC_SETUP_WIZARD_H_
#include "base/basictypes.h"
class SyncSetupFlowContainer;
class ProfileSyncService;
class SyncSetupWizard {
public:
enum State {
GAIA_LOGIN = 0,
GAIA_SUCCESS,
MERGE_AND_SYNC,
DONE
};
explicit SyncSetupWizard(ProfileSyncService* service);
~SyncSetupWizard();
// Advances the wizard to the specified state if possible, or opens a
// new dialog starting at |advance_state|. If the wizard has never ran
// through to completion, it will always attempt to do so. Otherwise, e.g
// for a transient auth failure, it will just run as far as is necessary
// based on |advance_state| (so for auth failure, up to GAIA_SUCCESS).
void Step(State advance_state);
// Whether or not a dialog is currently showing. Useful to determine
// if various buttons in the UI should be enabled or disabled.
bool IsVisible() const;
private:
// If we just need to pop open an individual dialog, say to collect
// gaia credentials in the event of a steady-state auth failure, this is
// a "discrete" run (as in not a continuous wizard flow). This returns
// the end state to pass to Run for a given |start_state|.
static State GetEndStateForDiscreteRun(State start_state);
ProfileSyncService* service_;
SyncSetupFlowContainer* flow_container_;
DISALLOW_COPY_AND_ASSIGN(SyncSetupWizard);
};
#endif // CHROME_BROWSER_VIEWS_SYNC_SYNC_SETUP_WIZARD_H_
|