Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: chrome/browser/importer/external_process_importer_bridge.h

Issue 18501013: Move most importer code to chrome/utility/importer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: another gyp attempt Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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_EXTERNAL_PROCESS_IMPORTER_BRIDGE_H_
6 #define CHROME_BROWSER_IMPORTER_EXTERNAL_PROCESS_IMPORTER_BRIDGE_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "chrome/browser/importer/importer_bridge.h"
15
16 class GURL;
17 struct ImportedBookmarkEntry;
18
19 namespace base {
20 class DictionaryValue;
21 class TaskRunner;
22 }
23
24 namespace importer {
25 #if defined(OS_WIN)
26 struct ImporterIE7PasswordInfo;
27 #endif
28 struct ImporterURLRow;
29 struct URLKeywordInfo;
30 }
31
32 namespace IPC {
33 class Message;
34 class Sender;
35 }
36
37 // When the importer is run in an external process, the bridge is effectively
38 // split in half by the IPC infrastructure. The external bridge receives data
39 // and notifications from the importer, and sends it across IPC. The
40 // internal bridge gathers the data from the IPC host and writes it to the
41 // profile.
42 class ExternalProcessImporterBridge : public ImporterBridge {
43 public:
44 ExternalProcessImporterBridge(
45 const base::DictionaryValue& localized_strings,
46 IPC::Sender* sender,
47 base::TaskRunner* task_runner);
48
49 // Begin ImporterBridge implementation:
50 virtual void AddBookmarks(
51 const std::vector<ImportedBookmarkEntry>& bookmarks,
52 const string16& first_folder_name) OVERRIDE;
53
54 virtual void AddHomePage(const GURL& home_page) OVERRIDE;
55
56 #if defined(OS_WIN)
57 virtual void AddIE7PasswordInfo(
58 const importer::ImporterIE7PasswordInfo& password_info) OVERRIDE;
59 #endif
60
61 virtual void SetFavicons(
62 const std::vector<ImportedFaviconUsage>& favicons) OVERRIDE;
63
64 virtual void SetHistoryItems(const std::vector<ImporterURLRow>& rows,
65 importer::VisitSource visit_source) OVERRIDE;
66
67 virtual void SetKeywords(
68 const std::vector<importer::URLKeywordInfo>& url_keywords,
69 bool unique_on_host_and_path) OVERRIDE;
70
71 virtual void SetFirefoxSearchEnginesXMLData(
72 const std::vector<std::string>& seach_engine_data) OVERRIDE;
73
74 virtual void SetPasswordForm(
75 const content::PasswordForm& form) OVERRIDE;
76
77 virtual void NotifyStarted() OVERRIDE;
78 virtual void NotifyItemStarted(importer::ImportItem item) OVERRIDE;
79 virtual void NotifyItemEnded(importer::ImportItem item) OVERRIDE;
80 virtual void NotifyEnded() OVERRIDE;
81
82 virtual string16 GetLocalizedString(int message_id) OVERRIDE;
83 // End ImporterBridge implementation.
84
85 private:
86 virtual ~ExternalProcessImporterBridge();
87
88 void Send(IPC::Message* message);
89 void SendInternal(IPC::Message* message);
90
91 // Holds strings needed by the external importer because the resource
92 // bundle isn't available to the external process.
93 scoped_ptr<base::DictionaryValue> localized_strings_;
94
95 IPC::Sender* sender_;
96 scoped_refptr<base::TaskRunner> task_runner_;
97
98 DISALLOW_COPY_AND_ASSIGN(ExternalProcessImporterBridge);
99 };
100
101 #endif // CHROME_BROWSER_IMPORTER_EXTERNAL_PROCESS_IMPORTER_BRIDGE_H_
OLDNEW
« no previous file with comments | « chrome/browser/importer/bookmarks_file_importer.cc ('k') | chrome/browser/importer/external_process_importer_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698