1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file.
4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Multiply-included message file, no traditonal include guard.
6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <string>
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include <vector>
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/basictypes.h"
103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "base/strings/string16.h"
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/values.h"
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/common_param_traits_macros.h"
13c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "chrome/common/importer/imported_bookmark_entry.h"
14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/importer/imported_favicon_usage.h"
15558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#include "chrome/common/importer/importer_autofill_form_data_entry.h"
16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/importer/importer_data_types.h"
17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/common/importer/importer_url_row.h"
18558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch#include "chrome/common/importer/profile_import_process_param_traits_macros.h"
19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/common/autofill_param_traits_macros.h"
20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/core/common/password_form.h"
21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/public/common/common_param_traits.h"
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ipc/ipc_message_macros.h"
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ipc/ipc_message_utils.h"
24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Force multiple inclusion of the param traits file to generate all methods.
26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#undef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define IPC_MESSAGE_START ProfileImportMsgStart
29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)//-----------------------------------------------------------------------------
31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// ProfileImportProcess messages
32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// These are messages sent from the browser to the profile import process.
33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL3(ProfileImportProcessMsg_StartImport,
34868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     importer::SourceProfile,
35868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     int                     /* Bitmask of items to import. */,
365c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu                     base::DictionaryValue   /* Localized strings. */)
375c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu
38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL0(ProfileImportProcessMsg_CancelImport)
39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
40868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessMsg_ReportImportItemFinished,
41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                     int  /* ImportItem */)
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)//---------------------------------------------------------------------------
44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// ProfileImportProcessHost messages
45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// These are messages sent from the profile import process to the browser.
46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// These messages send information about the status of the import and
47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// individual import tasks.
48eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochIPC_MESSAGE_CONTROL0(ProfileImportProcessHostMsg_Import_Started)
49868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
50868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_Import_Finished,
51868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     bool         /* was import successful? */,
52868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     std::string  /* error message, if any */)
53868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
54868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_ImportItem_Started,
55868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     int  /* ImportItem */)
56868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
57868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_ImportItem_Finished,
587d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)                     int  /* ImportItem */)
59868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
60868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// These messages send data from the external importer process back to
61868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// the process host so it can be written to the profile.
62868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyHistoryImportStart,
63868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     int  /* total number of ImporterURLRow items */)
64868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
65eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochIPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyHistoryImportGroup,
66868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     std::vector<ImporterURLRow>,
67effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     int  /* the source of URLs as in history::VisitSource.*/
68effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                          /* To simplify IPC call, pass as an integer */)
69effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
70868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyHomePageImportReady,
71effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     GURL  /* GURL of home page */)
72f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
73f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyBookmarksImportStart,
74868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     base::string16  /* first folder name */,
75868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     int             /* total number of bookmarks */)
76868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
77868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyBookmarksImportGroup,
78868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     std::vector<ImportedBookmarkEntry>)
79868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
80effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportStart,
81effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     int  /* total number of favicons */)
82effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
83effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportGroup,
84effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     std::vector<ImportedFaviconUsage>)
85effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
86effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyPasswordFormReady,
87effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     autofill::PasswordForm)
88868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
89868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)IPC_MESSAGE_CONTROL2(ProfileImportProcessHostMsg_NotifyKeywordsReady,
90868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                     std::vector<importer::URLKeywordInfo>, // url_keywords
91effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     bool  /* unique on host and path */)
92effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
93effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFirefoxSearchEngData,
94effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     std::vector<std::string>) // search_engine_data
95effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
96effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_AutofillFormDataImportStart,
97effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     int  /* total number of entries to be imported */)
98effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
99effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_AutofillFormDataImportGroup,
100effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     std::vector<ImporterAutofillFormDataEntry>)
101effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
102effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#if defined(OS_WIN)
103effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochIPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyIE7PasswordInfo,
104effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                     importer::ImporterIE7PasswordInfo) // password_info
105effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#endif
106effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch