Home | History | Annotate | Download | only in first_run
      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_FIRST_RUN_FIRST_RUN_IMPORT_OBSERVER_H_
      6 #define CHROME_BROWSER_FIRST_RUN_FIRST_RUN_IMPORT_OBSERVER_H_
      7 #pragma once
      8 
      9 #include "base/basictypes.h"
     10 #include "base/compiler_specific.h"
     11 #include "chrome/browser/importer/importer_observer.h"
     12 
     13 // This class is used by FirstRun::ImportNow to get notified of the outcome of
     14 // the import operation. It differs from ImportProcessRunner in that this
     15 // class executes in the context of the importing child process.
     16 // The values that it handles are meant to be used as the process exit code.
     17 class FirstRunImportObserver : public ImporterObserver {
     18  public:
     19   FirstRunImportObserver();
     20   virtual ~FirstRunImportObserver();
     21 
     22   void RunLoop();
     23 
     24   int import_result() const { return import_result_; }
     25 
     26  private:
     27   void Finish();
     28 
     29   // ImporterObserver:
     30   virtual void ImportCompleted() OVERRIDE;
     31 
     32   bool loop_running_;
     33   int import_result_;
     34 
     35   DISALLOW_COPY_AND_ASSIGN(FirstRunImportObserver);
     36 };
     37 
     38 #endif  // CHROME_BROWSER_FIRST_RUN_FIRST_RUN_IMPORT_OBSERVER_H_
     39