123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- // 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 ContactInfoSpecifics;
- 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 PrintersAuthorizationServerSpecifics;
- 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> ContactInfoSpecificsToValue(
- const sync_pb::ContactInfoSpecifics& 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>
- PrintersAuthorizationServerSpecificsToValue(
- const sync_pb::PrintersAuthorizationServerSpecifics&
- printers_authorization_server_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 and other fields.
- struct ProtoValueConversionOptions {
- // Whether to include specifics.
- bool include_specifics = true;
- // Whether to include default values which are set in GetUpdateTriggers.
- bool include_full_get_update_triggers = true;
- };
- std::unique_ptr<base::DictionaryValue> ClientToServerMessageToValue(
- const sync_pb::ClientToServerMessage& proto,
- const ProtoValueConversionOptions& options);
- std::unique_ptr<base::DictionaryValue> ClientToServerResponseToValue(
- const sync_pb::ClientToServerResponse& proto,
- const ProtoValueConversionOptions& options);
- std::unique_ptr<base::DictionaryValue> SyncEntityToValue(
- const sync_pb::SyncEntity& entity,
- const ProtoValueConversionOptions& options);
- } // namespace syncer
- #endif // COMPONENTS_SYNC_PROTOCOL_PROTO_VALUE_CONVERSIONS_H_
|