// Copyright (c) 2011 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_OPTIONS_SYNC_SETUP_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_SYNC_SETUP_HANDLER_H_
#include "chrome/browser/sync/sync_setup_flow_handler.h"
#include "chrome/browser/ui/webui/options/options_ui.h"
class SyncSetupFlow;
class SyncSetupHandler : public OptionsPageUIHandler,
public SyncSetupFlowHandler {
public:
SyncSetupHandler();
virtual ~SyncSetupHandler();
// OptionsPageUIHandler implementation.
virtual void GetLocalizedValues(DictionaryValue* localized_strings);
virtual void Initialize();
virtual void RegisterMessages();
// SyncSetupFlowHandler implementation.
virtual void ShowGaiaLogin(const DictionaryValue& args);
virtual void ShowGaiaSuccessAndClose();
virtual void ShowGaiaSuccessAndSettingUp();
virtual void ShowConfigure(const DictionaryValue& args);
virtual void ShowPassphraseEntry(const DictionaryValue& args);
virtual void ShowFirstPassphrase(const DictionaryValue& args);
virtual void ShowSettingUp();
virtual void ShowSetupDone(const std::wstring& user);
virtual void ShowFirstTimeDone(const std::wstring& user);
virtual void SetFlow(SyncSetupFlow* flow) {
flow_ = flow;
}
private:
// Callbacks from the page.
void OnDidShowPage(const ListValue* args);
void OnDidClosePage(const ListValue* args);
void HandleSubmitAuth(const ListValue* args);
void HandleConfigure(const ListValue* args);
void HandlePassphraseEntry(const ListValue* args);
void HandlePassphraseCancel(const ListValue* args);
void HandleFirstPassphrase(const ListValue* args);
void HandleGoToDashboard(const ListValue* args);
// Weak reference.
SyncSetupFlow* flow_;
DISALLOW_COPY_AND_ASSIGN(SyncSetupHandler);
};
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_SYNC_SETUP_HANDLER_H_