• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 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_REMOTING_SETUP_FLOW_REGISTER_STEP_H_
6 #define CHROME_BROWSER_REMOTING_SETUP_FLOW_REGISTER_STEP_H_
7 
8 #include "chrome/browser/remoting/directory_add_request.h"
9 #include "chrome/browser/remoting/setup_flow.h"
10 #include "chrome/common/net/gaia/gaia_auth_consumer.h"
11 #include "chrome/common/net/gaia/gaia_auth_fetcher.h"
12 
13 namespace remoting {
14 
15 // Implementation of host registration step for remoting setup flow.
16 class SetupFlowRegisterStep : public SetupFlowStepBase {
17  public:
18   SetupFlowRegisterStep();
19   virtual ~SetupFlowRegisterStep();
20 
21   // SetupFlowStep implementation.
22   virtual void HandleMessage(const std::string& message,
23                              const Value* arg);
24   virtual void Cancel();
25 
26  protected:
27   virtual void DoStart();
28 
29   // This methods is called when are sure remoting is enabled.
30   void SetRemotingEnabled();
31   void OnRequestDone(DirectoryAddRequest::Result result,
32                      const std::string& error_message);
33 
34  private:
35   scoped_ptr<DirectoryAddRequest> request_;
36 
37   DISALLOW_COPY_AND_ASSIGN(SetupFlowRegisterStep);
38 };
39 
40 class SetupFlowRegisterErrorStep : public SetupFlowErrorStepBase {
41  public:
42   SetupFlowRegisterErrorStep();
43   virtual ~SetupFlowRegisterErrorStep();
44 
45  protected:
46   virtual string16 GetErrorMessage();
47   virtual void Retry();
48 
49  private:
50   DISALLOW_COPY_AND_ASSIGN(SetupFlowRegisterErrorStep);
51 };
52 
53 }  // namespace remoting
54 
55 #endif  // CHROME_BROWSER_REMOTING_SETUP_FLOW_REGISTER_STEP_H_
56