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 import_result()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