1 // Copyright 2014 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.
5 // Singly or Multiply-included shared traits file depending on circumstances.
6 // This allows the use of IPC serialization macros in more than one IPC message
8 #ifndef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
9 #define CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_
14 #include "base/basictypes.h"
15 #include "base/strings/string16.h"
16 #include "base/values.h"
17 #include "chrome/common/common_param_traits_macros.h"
18 #include "chrome/common/importer/imported_bookmark_entry.h"
19 #include "chrome/common/importer/importer_autofill_form_data_entry.h"
20 #include "chrome/common/importer/importer_data_types.h"
21 #include "chrome/common/importer/importer_url_row.h"
22 #include "components/autofill/content/common/autofill_param_traits_macros.h"
23 #include "components/autofill/core/common/password_form.h"
24 #include "components/favicon_base/favicon_usage_data.h"
25 #include "content/public/common/common_param_traits.h"
26 #include "ipc/ipc_message_macros.h"
28 IPC_ENUM_TRAITS_MIN_MAX_VALUE(importer::ImporterType
,
29 importer::TYPE_UNKNOWN
,
30 importer::TYPE_BOOKMARKS_FILE
)
32 IPC_STRUCT_TRAITS_BEGIN(importer::SourceProfile
)
33 IPC_STRUCT_TRAITS_MEMBER(importer_name
)
34 IPC_STRUCT_TRAITS_MEMBER(importer_type
)
35 IPC_STRUCT_TRAITS_MEMBER(source_path
)
36 IPC_STRUCT_TRAITS_MEMBER(app_path
)
37 IPC_STRUCT_TRAITS_MEMBER(services_supported
)
38 IPC_STRUCT_TRAITS_MEMBER(locale
)
39 IPC_STRUCT_TRAITS_END()
41 IPC_STRUCT_TRAITS_BEGIN(ImporterURLRow
)
42 IPC_STRUCT_TRAITS_MEMBER(url
)
43 IPC_STRUCT_TRAITS_MEMBER(title
)
44 IPC_STRUCT_TRAITS_MEMBER(visit_count
)
45 IPC_STRUCT_TRAITS_MEMBER(typed_count
)
46 IPC_STRUCT_TRAITS_MEMBER(last_visit
)
47 IPC_STRUCT_TRAITS_MEMBER(hidden
)
48 IPC_STRUCT_TRAITS_END()
50 IPC_STRUCT_TRAITS_BEGIN(ImportedBookmarkEntry
)
51 IPC_STRUCT_TRAITS_MEMBER(in_toolbar
)
52 IPC_STRUCT_TRAITS_MEMBER(is_folder
)
53 IPC_STRUCT_TRAITS_MEMBER(url
)
54 IPC_STRUCT_TRAITS_MEMBER(path
)
55 IPC_STRUCT_TRAITS_MEMBER(title
)
56 IPC_STRUCT_TRAITS_MEMBER(creation_time
)
57 IPC_STRUCT_TRAITS_END()
59 IPC_STRUCT_TRAITS_BEGIN(favicon_base::FaviconUsageData
)
60 IPC_STRUCT_TRAITS_MEMBER(favicon_url
)
61 IPC_STRUCT_TRAITS_MEMBER(png_data
)
62 IPC_STRUCT_TRAITS_MEMBER(urls
)
63 IPC_STRUCT_TRAITS_END()
65 IPC_STRUCT_TRAITS_BEGIN(importer::SearchEngineInfo
)
66 IPC_STRUCT_TRAITS_MEMBER(url
)
67 IPC_STRUCT_TRAITS_MEMBER(keyword
)
68 IPC_STRUCT_TRAITS_MEMBER(display_name
)
69 IPC_STRUCT_TRAITS_END()
71 IPC_STRUCT_TRAITS_BEGIN(ImporterAutofillFormDataEntry
)
72 IPC_STRUCT_TRAITS_MEMBER(name
)
73 IPC_STRUCT_TRAITS_MEMBER(value
)
74 IPC_STRUCT_TRAITS_MEMBER(times_used
)
75 IPC_STRUCT_TRAITS_MEMBER(first_used
)
76 IPC_STRUCT_TRAITS_MEMBER(last_used
)
77 IPC_STRUCT_TRAITS_END()
80 IPC_STRUCT_TRAITS_BEGIN(importer::ImporterIE7PasswordInfo
)
81 IPC_STRUCT_TRAITS_MEMBER(url_hash
)
82 IPC_STRUCT_TRAITS_MEMBER(encrypted_data
)
83 IPC_STRUCT_TRAITS_MEMBER(date_created
)
84 IPC_STRUCT_TRAITS_END()
87 #endif // CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_