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_IMPORTER_IMPORTER_DATA_TYPES_H_
6#define CHROME_BROWSER_IMPORTER_IMPORTER_DATA_TYPES_H_
7#pragma once
8
9#include <string>
10
11#include "base/basictypes.h"
12#include "base/file_path.h"
13#include "base/string16.h"
14#include "chrome/browser/importer/importer_type.h"
15
16// Types needed for importing data from other browsers and the Google Toolbar.
17namespace importer {
18
19// An enumeration of the type of data that can be imported.
20enum ImportItem {
21  NONE           = 0,
22  HISTORY        = 1 << 0,
23  FAVORITES      = 1 << 1,
24  COOKIES        = 1 << 2,  // Not supported yet.
25  PASSWORDS      = 1 << 3,
26  SEARCH_ENGINES = 1 << 4,
27  HOME_PAGE      = 1 << 5,
28  ALL            = (1 << 6) - 1  // All the bits should be 1, hence the -1.
29};
30
31// Information about a profile needed by an importer to do import work.
32struct SourceProfile {
33  SourceProfile();
34  ~SourceProfile();
35
36  string16 importer_name;
37  ImporterType importer_type;
38  FilePath source_path;
39  FilePath app_path;
40  uint16 services_supported;  // Bitmask of ImportItem.
41};
42
43}  // namespace importer
44
45#endif  // CHROME_BROWSER_IMPORTER_IMPORTER_DATA_TYPES_H_
46