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 17class ImporterHost; 18 19// Chrome personal stuff import data overlay UI handler. 20class 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