Home | History | Annotate | Download | only in options
      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_UI_WEBUI_OPTIONS_IMPORT_DATA_HANDLER_H_
      6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_IMPORT_DATA_HANDLER_H_
      7 #pragma once
      8 
      9 #include "base/basictypes.h"
     10 #include "base/compiler_specific.h"
     11 #include "base/memory/ref_counted.h"
     12 #include "chrome/browser/importer/importer_data_types.h"
     13 #include "chrome/browser/importer/importer_list.h"
     14 #include "chrome/browser/importer/importer_progress_observer.h"
     15 #include "chrome/browser/ui/webui/options/options_ui.h"
     16 
     17 class ImporterHost;
     18 
     19 // Chrome personal stuff import data overlay UI handler.
     20 class ImportDataHandler : public OptionsPageUIHandler,
     21                           public ImporterList::Observer,
     22                           public importer::ImporterProgressObserver {
     23  public:
     24   ImportDataHandler();
     25   virtual ~ImportDataHandler();
     26 
     27   // OptionsPageUIHandler:
     28   virtual void GetLocalizedValues(DictionaryValue* localized_strings);
     29   virtual void Initialize();
     30 
     31   // WebUIMessageHandler:
     32   virtual void RegisterMessages();
     33 
     34  private:
     35   void ImportData(const ListValue* args);
     36 
     37   // ImporterList::Observer:
     38   virtual void OnSourceProfilesLoaded() OVERRIDE;
     39 
     40   // importer::ImporterProgressObserver:
     41   virtual void ImportStarted() OVERRIDE;
     42   virtual void ImportItemStarted(importer::ImportItem item) OVERRIDE;
     43   virtual void ImportItemEnded(importer::ImportItem item) OVERRIDE;
     44   virtual void ImportEnded() OVERRIDE;
     45 
     46   scoped_refptr<ImporterList> importer_list_;
     47 
     48   // If non-null it means importing is in progress. ImporterHost takes care
     49   // of deleting itself when import is complete.
     50   ImporterHost* importer_host_;  // weak
     51 
     52   DISALLOW_COPY_AND_ASSIGN(ImportDataHandler);
     53 };
     54 
     55 #endif  // CHROME_BROWSER_UI_WEBUI_OPTIONS_IMPORT_DATA_HANDLER_H_
     56