Index: chrome/browser/sync/glue/preference_model_associator.h |
diff --git a/chrome/browser/sync/glue/preference_model_associator.h b/chrome/browser/sync/glue/preference_model_associator.h |
deleted file mode 100644 |
index 5c661b298b1d74b8b899897dc862b5399578fe12..0000000000000000000000000000000000000000 |
--- a/chrome/browser/sync/glue/preference_model_associator.h |
+++ /dev/null |
@@ -1,135 +0,0 @@ |
-// Copyright (c) 2011 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 CHROME_BROWSER_SYNC_GLUE_PREFERENCE_MODEL_ASSOCIATOR_H_ |
-#define CHROME_BROWSER_SYNC_GLUE_PREFERENCE_MODEL_ASSOCIATOR_H_ |
-#pragma once |
- |
-#include <map> |
-#include <set> |
-#include <string> |
- |
-#include "base/basictypes.h" |
-#include "chrome/browser/prefs/pref_service.h" |
-#include "chrome/browser/sync/glue/model_associator.h" |
-#include "chrome/browser/sync/unrecoverable_error_handler.h" |
- |
-class ProfileSyncService; |
-class Value; |
- |
-namespace sync_api { |
-class WriteNode; |
-class WriteTransaction; |
-} |
- |
-namespace browser_sync { |
- |
-class PreferenceChangeProcessor; |
- |
-static const char kPreferencesTag[] = "google_chrome_preferences"; |
- |
-// Contains all model association related logic: |
-// * Algorithm to associate preferences model and sync model. |
-class PreferenceModelAssociator |
- : public PerDataTypeAssociatorInterface<PrefService::Preference, |
- std::string> { |
- public: |
- static syncable::ModelType model_type() { return syncable::PREFERENCES; } |
- explicit PreferenceModelAssociator(ProfileSyncService* sync_service); |
- virtual ~PreferenceModelAssociator(); |
- |
- // Returns the list of preference names that should be monitored for |
- // changes. Only preferences that are registered will be in this |
- // list. |
- const std::set<std::string>& synced_preferences() { |
- return synced_preferences_; |
- } |
- |
- // Create an association for a given preference. A sync node is created if |
- // necessary and the value is read from or written to the node as appropriate. |
- bool InitPrefNodeAndAssociate(sync_api::WriteTransaction* trans, |
- const sync_api::BaseNode& root, |
- const PrefService::Preference* pref); |
- |
- // PerDataTypeAssociatorInterface implementation. |
- // |
- // Iterates through the sync model looking for matched pairs of items. |
- virtual bool AssociateModels(); |
- |
- // Clears all associations. |
- virtual bool DisassociateModels(); |
- |
- // Returns whether the sync model has nodes other than the permanent tagged |
- // nodes. |
- virtual bool SyncModelHasUserCreatedNodes(bool* has_nodes); |
- |
- virtual void AbortAssociation() { |
- // No implementation needed, this associator runs on the main |
- // thread. |
- } |
- |
- // See ModelAssociator interface. |
- virtual bool CryptoReadyIfNecessary(); |
- |
- // Not implemented. |
- virtual const PrefService::Preference* GetChromeNodeFromSyncId(int64 sync_id); |
- |
- // Not implemented. |
- virtual bool InitSyncNodeFromChromeId(const std::string& node_id, |
- sync_api::BaseNode* sync_node); |
- |
- // Returns the sync id for the given preference name, or sync_api::kInvalidId |
- // if the preference name is not associated to any sync id. |
- virtual int64 GetSyncIdFromChromeId(const std::string& node_id); |
- |
- // Associates the given preference name with the given sync id. |
- virtual void Associate(const PrefService::Preference* node, int64 sync_id); |
- |
- // Remove the association that corresponds to the given sync id. |
- virtual void Disassociate(int64 sync_id); |
- |
- // Returns whether a node with the given permanent tag was found and update |
- // |sync_id| with that node's id. |
- virtual bool GetSyncIdForTaggedNode(const std::string& tag, int64* sync_id); |
- |
- // Merges the value of local_pref into the supplied server_value and |
- // returns the result (caller takes ownership). If there is a |
- // conflict, the server value always takes precedence. Note that |
- // only certain preferences will actually be merged, all others will |
- // return a copy of the server value. See the method's |
- // implementation for details. |
- static Value* MergePreference(const PrefService::Preference& local_pref, |
- const Value& server_value); |
- |
- // Writes the value of pref into the specified node. Returns true |
- // upon success. |
- static bool WritePreferenceToNode(const std::string& name, |
- const Value& value, |
- sync_api::WriteNode* node); |
- |
- // Perform any additional operations that need to happen after a preference |
- // has been updated. |
- void AfterUpdateOperations(const std::string& pref_name); |
- |
- private: |
- typedef std::map<std::string, int64> PreferenceNameToSyncIdMap; |
- typedef std::map<int64, std::string> SyncIdToPreferenceNameMap; |
- |
- static Value* MergeListValues(const Value& from_value, const Value& to_value); |
- static Value* MergeDictionaryValues(const Value& from_value, |
- const Value& to_value); |
- |
- ProfileSyncService* sync_service_; |
- std::set<std::string> synced_preferences_; |
- int64 preferences_node_id_; |
- |
- PreferenceNameToSyncIdMap id_map_; |
- SyncIdToPreferenceNameMap id_map_inverse_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PreferenceModelAssociator); |
-}; |
- |
-} // namespace browser_sync |
- |
-#endif // CHROME_BROWSER_SYNC_GLUE_PREFERENCE_MODEL_ASSOCIATOR_H_ |