| // Copyright 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_ |
| #define COMPONENTS_SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_ |
| |
| #include <memory> |
| |
| namespace base { |
| class DictionaryValue; |
| } |
| |
| namespace sync_pb { |
| class AppListSpecifics; |
| class AppSettingSpecifics; |
| class AppSpecifics; |
| class ArcPackageSpecifics; |
| class AutofillProfileSpecifics; |
| class AutofillSpecifics; |
| class AutofillOfferSpecifics; |
| class AutofillWalletSpecifics; |
| class BookmarkSpecifics; |
| class ClientConfigParams; |
| class ClientToServerMessage; |
| class ClientToServerResponse; |
| class DebugEventInfo; |
| class DebugInfo; |
| class DeviceInfoSpecifics; |
| class DictionarySpecifics; |
| class EncryptedData; |
| class EntityMetadata; |
| class EntitySpecifics; |
| class ExtensionSettingSpecifics; |
| class ExtensionSpecifics; |
| class HistoryDeleteDirectiveSpecifics; |
| class HistorySpecifics; |
| class LinkedAppIconInfo; |
| class ManagedUserSettingSpecifics; |
| class NavigationRedirect; |
| class NigoriSpecifics; |
| class OsPreferenceSpecifics; |
| class OsPriorityPreferenceSpecifics; |
| class PasswordSpecifics; |
| class PasswordSpecificsData; |
| class PaymentsCustomerData; |
| class PreferenceSpecifics; |
| class PrinterPPDReference; |
| class PrinterSpecifics; |
| class PriorityPreferenceSpecifics; |
| class ReadingListSpecifics; |
| class SearchEngineSpecifics; |
| class SecurityEventSpecifics; |
| class SendTabToSelfSpecifics; |
| class SessionHeader; |
| class SessionSpecifics; |
| class SessionTab; |
| class SessionWindow; |
| class SharingMessageSpecifics; |
| class SyncCycleCompletedEventInfo; |
| class SyncEntity; |
| class TabNavigation; |
| class ThemeSpecifics; |
| class TimeRangeDirective; |
| class TypedUrlSpecifics; |
| class UrlDirective; |
| class UserConsentSpecifics; |
| class UserEventSpecifics; |
| class WalletCreditCardCloudTokenData; |
| class WalletMaskedCreditCard; |
| class WalletMetadataSpecifics; |
| class WalletPostalAddress; |
| class WebAppSpecifics; |
| class WifiConfigurationSpecifics; |
| class WorkspaceDeskSpecifics; |
| } // namespace sync_pb |
| |
| // Keep this file in sync with the .proto files in this directory. |
| // |
| // Utility functions to convert sync protocol buffers to dictionaries. |
| // Each protocol field is mapped to a key of the same name. Repeated |
| // fields are mapped to array values and sub-messages are mapped to |
| // sub-dictionary values. |
| |
| namespace syncer { |
| |
| std::unique_ptr<base::DictionaryValue> AppListSpecificsToValue( |
| const sync_pb::AppListSpecifics& proto); |
| |
| std::unique_ptr<base::DictionaryValue> AppSettingSpecificsToValue( |
| const sync_pb::AppSettingSpecifics& app_setting_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> AppSpecificsToValue( |
| const sync_pb::AppSpecifics& app_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> ArcPackageSpecificsToValue( |
| const sync_pb::ArcPackageSpecifics& proto); |
| |
| std::unique_ptr<base::DictionaryValue> AutofillOfferSpecificsToValue( |
| const sync_pb::AutofillOfferSpecifics& autofill_offer_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> AutofillProfileSpecificsToValue( |
| const sync_pb::AutofillProfileSpecifics& autofill_profile_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> AutofillSpecificsToValue( |
| const sync_pb::AutofillSpecifics& autofill_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> AutofillWalletSpecificsToValue( |
| const sync_pb::AutofillWalletSpecifics& autofill_wallet_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> BookmarkSpecificsToValue( |
| const sync_pb::BookmarkSpecifics& bookmark_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> ClientConfigParamsToValue( |
| const sync_pb::ClientConfigParams& proto); |
| |
| std::unique_ptr<base::DictionaryValue> DebugEventInfoToValue( |
| const sync_pb::DebugEventInfo& proto); |
| |
| std::unique_ptr<base::DictionaryValue> DebugInfoToValue( |
| const sync_pb::DebugInfo& proto); |
| |
| std::unique_ptr<base::DictionaryValue> DeviceInfoSpecificsToValue( |
| const sync_pb::DeviceInfoSpecifics& device_info_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> DictionarySpecificsToValue( |
| const sync_pb::DictionarySpecifics& dictionary_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> EncryptedDataToValue( |
| const sync_pb::EncryptedData& encrypted_data); |
| |
| std::unique_ptr<base::DictionaryValue> EntityMetadataToValue( |
| const sync_pb::EntityMetadata& metadata); |
| |
| std::unique_ptr<base::DictionaryValue> EntitySpecificsToValue( |
| const sync_pb::EntitySpecifics& specifics); |
| |
| std::unique_ptr<base::DictionaryValue> ExtensionSettingSpecificsToValue( |
| const sync_pb::ExtensionSettingSpecifics& extension_setting_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> ExtensionSpecificsToValue( |
| const sync_pb::ExtensionSpecifics& extension_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> HistoryDeleteDirectiveSpecificsToValue( |
| const sync_pb::HistoryDeleteDirectiveSpecifics& |
| history_delete_directive_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> HistorySpecificsToValue( |
| const sync_pb::HistorySpecifics& history_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> LinkedAppIconInfoToValue( |
| const sync_pb::LinkedAppIconInfo& linked_app_icon_info); |
| |
| std::unique_ptr<base::DictionaryValue> ManagedUserSettingSpecificsToValue( |
| const sync_pb::ManagedUserSettingSpecifics& managed_user_setting_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> NavigationRedirectToValue( |
| const sync_pb::NavigationRedirect& navigation_redirect); |
| |
| std::unique_ptr<base::DictionaryValue> NigoriSpecificsToValue( |
| const sync_pb::NigoriSpecifics& nigori_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> OsPreferenceSpecificsToValue( |
| const sync_pb::OsPreferenceSpecifics& specifics); |
| |
| std::unique_ptr<base::DictionaryValue> OsPriorityPreferenceSpecificsToValue( |
| const sync_pb::OsPriorityPreferenceSpecifics& specifics); |
| |
| std::unique_ptr<base::DictionaryValue> PasswordSpecificsToValue( |
| const sync_pb::PasswordSpecifics& password_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> PasswordSpecificsDataToValue( |
| const sync_pb::PasswordSpecificsData& password_specifics_data); |
| |
| std::unique_ptr<base::DictionaryValue> PaymentsCustomerDataToValue( |
| const sync_pb::PaymentsCustomerData& payments_customer_data); |
| |
| std::unique_ptr<base::DictionaryValue> PreferenceSpecificsToValue( |
| const sync_pb::PreferenceSpecifics& password_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> PrinterPPDReferenceToValue( |
| const sync_pb::PrinterPPDReference& proto); |
| |
| std::unique_ptr<base::DictionaryValue> PrinterSpecificsToValue( |
| const sync_pb::PrinterSpecifics& printer_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> PriorityPreferenceSpecificsToValue( |
| const sync_pb::PriorityPreferenceSpecifics& proto); |
| |
| std::unique_ptr<base::DictionaryValue> ReadingListSpecificsToValue( |
| const sync_pb::ReadingListSpecifics& proto); |
| |
| std::unique_ptr<base::DictionaryValue> SearchEngineSpecificsToValue( |
| const sync_pb::SearchEngineSpecifics& search_engine_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SendTabToSelfSpecificsToValue( |
| const sync_pb::SendTabToSelfSpecifics& send_tab_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SecurityEventSpecificsToValue( |
| const sync_pb::SecurityEventSpecifics& security_event_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SessionHeaderToValue( |
| const sync_pb::SessionHeader& session_header); |
| |
| std::unique_ptr<base::DictionaryValue> SessionSpecificsToValue( |
| const sync_pb::SessionSpecifics& session_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SessionTabToValue( |
| const sync_pb::SessionTab& session_tab); |
| |
| std::unique_ptr<base::DictionaryValue> SessionWindowToValue( |
| const sync_pb::SessionWindow& session_window); |
| |
| std::unique_ptr<base::DictionaryValue> SharingMessageSpecificsToValue( |
| const sync_pb::SharingMessageSpecifics& sharing_message_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SyncCycleCompletedEventInfoToValue( |
| const sync_pb::SyncCycleCompletedEventInfo& proto); |
| |
| std::unique_ptr<base::DictionaryValue> TabNavigationToValue( |
| const sync_pb::TabNavigation& tab_navigation); |
| |
| std::unique_ptr<base::DictionaryValue> ThemeSpecificsToValue( |
| const sync_pb::ThemeSpecifics& theme_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> TimeRangeDirectiveToValue( |
| const sync_pb::TimeRangeDirective& time_range_directive); |
| |
| std::unique_ptr<base::DictionaryValue> TypedUrlSpecificsToValue( |
| const sync_pb::TypedUrlSpecifics& typed_url_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> UrlDirectiveToValue( |
| const sync_pb::UrlDirective& time_range_directive); |
| |
| std::unique_ptr<base::DictionaryValue> UserConsentSpecificsToValue( |
| const sync_pb::UserConsentSpecifics& user_consent_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> UserEventSpecificsToValue( |
| const sync_pb::UserEventSpecifics& user_event_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> WalletCreditCardCloudTokenDataToValue( |
| const sync_pb::WalletCreditCardCloudTokenData& cloud_token_data); |
| |
| std::unique_ptr<base::DictionaryValue> WalletMaskedCreditCardToValue( |
| const sync_pb::WalletMaskedCreditCard& wallet_masked_card); |
| |
| std::unique_ptr<base::DictionaryValue> WalletMetadataSpecificsToValue( |
| const sync_pb::WalletMetadataSpecifics& wallet_metadata_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> WalletPostalAddressToValue( |
| const sync_pb::WalletPostalAddress& wallet_postal_address); |
| |
| std::unique_ptr<base::DictionaryValue> WebAppSpecificsToValue( |
| const sync_pb::WebAppSpecifics& web_app_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> WifiConfigurationSpecificsToValue( |
| const sync_pb::WifiConfigurationSpecifics& wifi_configuration_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> WorkspaceDeskSpecificsToValue( |
| const sync_pb::WorkspaceDeskSpecifics& workspace_desk_specifics); |
| |
| // ToValue functions that allow omitting specifics. |
| |
| std::unique_ptr<base::DictionaryValue> ClientToServerMessageToValue( |
| const sync_pb::ClientToServerMessage& proto, |
| bool include_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> ClientToServerResponseToValue( |
| const sync_pb::ClientToServerResponse& proto, |
| bool include_specifics); |
| |
| std::unique_ptr<base::DictionaryValue> SyncEntityToValue( |
| const sync_pb::SyncEntity& entity, |
| bool include_specifics); |
| |
| } // namespace syncer |
| |
| #endif // COMPONENTS_SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_ |