| Index: chrome/browser/remoting/setup_flow.h
|
| diff --git a/chrome/browser/remoting/setup_flow.h b/chrome/browser/remoting/setup_flow.h
|
| deleted file mode 100644
|
| index c952bd68b3de5902ed5d17dfeafd96c6b94e127b..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/remoting/setup_flow.h
|
| +++ /dev/null
|
| @@ -1,220 +0,0 @@
|
| -// 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_REMOTING_SETUP_FLOW_H_
|
| -#define CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "chrome/browser/ui/webui/html_dialog_ui.h"
|
| -#include "chrome/common/remoting/chromoting_host_info.h"
|
| -#include "content/browser/webui/web_ui.h"
|
| -
|
| -class ListValue;
|
| -class ServiceProcessControl;
|
| -
|
| -namespace remoting {
|
| -
|
| -class SetupFlow;
|
| -
|
| -// SetupFlowStep represents a single step for SetupFlow, e.g. login or
|
| -// host registration. When a step is finished, GetNextStep() is called
|
| -// to get the step that must follow.
|
| -class SetupFlowStep {
|
| - public:
|
| - typedef Callback0::Type DoneCallback;
|
| -
|
| - SetupFlowStep();
|
| - virtual ~SetupFlowStep();
|
| -
|
| - // Start the step. Ownership of |done_callback| is given to the
|
| - // function. |done_callback| is called when the step is finished,
|
| - // The callback must be called on the same thread as Start().
|
| - virtual void Start(SetupFlow* flow, DoneCallback* done_callback) = 0;
|
| -
|
| - // Called to handle |message| received from UI. |args| may be set to
|
| - // NULL.
|
| - virtual void HandleMessage(const std::string& message, const Value* arg) = 0;
|
| -
|
| - // Called if user closes the dialog.
|
| - virtual void Cancel() = 0;
|
| -
|
| - // Returns SetupFlowStep object that corresponds to the next
|
| - // step. Must never return NULL.
|
| - virtual SetupFlowStep* GetNextStep() = 0;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(SetupFlowStep);
|
| -};
|
| -
|
| -// SetupFlowStepBase implements base functions common for all
|
| -// SetupFlowStep implementations.
|
| -class SetupFlowStepBase : public SetupFlowStep {
|
| - public:
|
| - SetupFlowStepBase();
|
| - ~SetupFlowStepBase();
|
| -
|
| - // SetupFlowStep implementation.
|
| - virtual void Start(SetupFlow* flow, DoneCallback* done_callback);
|
| - virtual SetupFlowStep* GetNextStep();
|
| -
|
| - protected:
|
| - SetupFlow* flow() { return flow_; }
|
| -
|
| - void ExecuteJavascriptInIFrame(const std::wstring& iframe_xpath,
|
| - const std::wstring& js);
|
| -
|
| - // Finish current step. Calls |done_callback| specified in Start().
|
| - // GetNextStep() will return the specified |next_step|.
|
| - void FinishStep(SetupFlowStep* next_step);
|
| -
|
| - // Called from Start(). Child classes must override this method
|
| - // instead of Start().
|
| - virtual void DoStart() = 0;
|
| -
|
| - private:
|
| - SetupFlow* flow_;
|
| - scoped_ptr<DoneCallback> done_callback_;
|
| - bool done_;
|
| -
|
| - // Next step stored between Done() and GetNextStep();
|
| - SetupFlowStep* next_step_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SetupFlowStepBase);
|
| -};
|
| -
|
| -// Base class for error steps. It shows the error message returned by
|
| -// GetErrorMessage() and Retry button.
|
| -class SetupFlowErrorStepBase : public SetupFlowStepBase {
|
| - public:
|
| - SetupFlowErrorStepBase();
|
| - virtual ~SetupFlowErrorStepBase();
|
| -
|
| - // SetupFlowStep implementation.
|
| - virtual void HandleMessage(const std::string& message, const Value* arg);
|
| - virtual void Cancel();
|
| -
|
| - protected:
|
| - virtual void DoStart();
|
| -
|
| - // Returns error message that is shown to the user.
|
| - virtual string16 GetErrorMessage() = 0;
|
| -
|
| - // Called when user clicks Retry button. Normally this methoud just
|
| - // calls FinishStep() with an appropriate next step.
|
| - virtual void Retry() = 0;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(SetupFlowErrorStepBase);
|
| -};
|
| -
|
| -// The last step in the setup flow. This step never finishes, user is
|
| -// expected to close dialog after that.
|
| -class SetupFlowDoneStep : public SetupFlowStepBase {
|
| - public:
|
| - SetupFlowDoneStep();
|
| - explicit SetupFlowDoneStep(const string16& message);
|
| - virtual ~SetupFlowDoneStep();
|
| -
|
| - // SetupFlowStep implementation.
|
| - virtual void HandleMessage(const std::string& message, const Value* arg);
|
| - virtual void Cancel();
|
| -
|
| - protected:
|
| - virtual void DoStart();
|
| -
|
| - private:
|
| - string16 message_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SetupFlowDoneStep);
|
| -};
|
| -
|
| -// SetupFlowContext stores data that needs to be passed between
|
| -// different setup flow steps.
|
| -struct SetupFlowContext {
|
| - SetupFlowContext();
|
| - ~SetupFlowContext();
|
| -
|
| - std::string login;
|
| - std::string remoting_token;
|
| - std::string talk_token;
|
| -
|
| - ChromotingHostInfo host_info;
|
| -};
|
| -
|
| -// This class is responsible for showing a remoting setup dialog and
|
| -// perform operations to fill the content of the dialog and handle
|
| -// user actions in the dialog.
|
| -//
|
| -// Each page in the setup flow may send message to the current
|
| -// step. In order to do that it must use send a RemotingSetup message
|
| -// and specify message name as the first value in the argument
|
| -// list. For example the following code sends Retry message to the
|
| -// current step:
|
| -//
|
| -// chrome.send("RemotingSetup", ["Retry"])
|
| -//
|
| -// Assitional message parameters may be provided via send value in the
|
| -// arguments list, e.g.:
|
| -//
|
| -// chrome.send("RemotingSetup", ["SubmitAuth", auth_data])
|
| -//
|
| -// In this case auth_data would be passed in
|
| -// SetupFlowStep::HandleMessage().
|
| -class SetupFlow : public WebUIMessageHandler,
|
| - public HtmlDialogUIDelegate {
|
| - public:
|
| - virtual ~SetupFlow();
|
| -
|
| - static SetupFlow* OpenSetupDialog(Profile* profile);
|
| -
|
| - WebUI* web_ui() { return web_ui_; }
|
| - Profile* profile() { return profile_; }
|
| - SetupFlowContext* context() { return &context_; }
|
| -
|
| - private:
|
| - explicit SetupFlow(const std::string& args, Profile* profile,
|
| - SetupFlowStep* first_step);
|
| -
|
| - // HtmlDialogUIDelegate implementation.
|
| - virtual GURL GetDialogContentURL() const;
|
| - virtual void GetWebUIMessageHandlers(
|
| - std::vector<WebUIMessageHandler*>* handlers) const;
|
| - virtual void GetDialogSize(gfx::Size* size) const;
|
| - virtual std::string GetDialogArgs() const;
|
| - virtual void OnDialogClosed(const std::string& json_retval);
|
| - virtual void OnCloseContents(TabContents* source, bool* out_close_dialog);
|
| - virtual std::wstring GetDialogTitle() const;
|
| - virtual bool IsDialogModal() const;
|
| - virtual bool ShouldShowDialogTitle() const;
|
| -
|
| - // WebUIMessageHandler implementation.
|
| - virtual WebUIMessageHandler* Attach(WebUI* web_ui);
|
| - virtual void RegisterMessages();
|
| -
|
| - // Message handlers for the messages we receive from UI.
|
| - void HandleSubmitAuth(const ListValue* args);
|
| - void HandleUIMessage(const ListValue* args);
|
| -
|
| - void StartCurrentStep();
|
| - void OnStepDone();
|
| -
|
| - // Pointer to the Web UI. This is provided by RemotingSetupMessageHandler
|
| - // when attached.
|
| - WebUI* web_ui_;
|
| -
|
| - // The args to pass to the initial page.
|
| - std::string dialog_start_args_;
|
| - Profile* profile_;
|
| -
|
| - SetupFlowContext context_;
|
| -
|
| - scoped_ptr<SetupFlowStep> current_step_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SetupFlow);
|
| -};
|
| -
|
| -} // namespace remoting
|
| -
|
| -#endif // CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
|
|
|