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. 4 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 7 // file. 8 #ifndef CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_ 9 #define CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_ 10 11 #include <string> 12 #include <vector> 13 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/imported_favicon_usage.h" 20 #include "chrome/common/importer/importer_autofill_form_data_entry.h" 21 #include "chrome/common/importer/importer_data_types.h" 22 #include "chrome/common/importer/importer_url_row.h" 23 #include "components/autofill/content/common/autofill_param_traits_macros.h" 24 #include "components/autofill/core/common/password_form.h" 25 #include "content/public/common/common_param_traits.h" 26 #include "ipc/ipc_message_macros.h" 27 28 IPC_ENUM_TRAITS_MIN_MAX_VALUE(importer::ImporterType, 29 importer::TYPE_UNKNOWN, 30 importer::TYPE_BOOKMARKS_FILE) 31 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() 40 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() 49 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() 58 59 IPC_STRUCT_TRAITS_BEGIN(ImportedFaviconUsage) 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() 64 65 IPC_STRUCT_TRAITS_BEGIN(importer::URLKeywordInfo) 66 IPC_STRUCT_TRAITS_MEMBER(url) 67 IPC_STRUCT_TRAITS_MEMBER(keyword) 68 IPC_STRUCT_TRAITS_MEMBER(display_name) 69 IPC_STRUCT_TRAITS_END() 70 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() 78 79 #if defined(OS_WIN) 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() 85 #endif 86 87 #endif // CHROME_COMMON_IMPORTER_PROFILE_IMPORT_PROCESS_PARAM_TRAITS_MACROS_H_ 88