Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(672)

Unified Diff: components/sync/sessions_impl/model_type_registry.h

Issue 2245073003: [Sync] Clean up intra-sync DEPS significantly. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments/fix test. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/sync/sessions_impl/DEPS ('k') | components/sync/sessions_impl/model_type_registry.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/sync/sessions_impl/model_type_registry.h
diff --git a/components/sync/sessions_impl/model_type_registry.h b/components/sync/sessions_impl/model_type_registry.h
deleted file mode 100644
index fb8d1b27df1ae163f9d71a7d337270621a01d051..0000000000000000000000000000000000000000
--- a/components/sync/sessions_impl/model_type_registry.h
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright 2014 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_SESSIONS_IMPL_MODEL_TYPE_REGISTRY_H_
-#define COMPONENTS_SYNC_SESSIONS_IMPL_MODEL_TYPE_REGISTRY_H_
-
-#include <map>
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "base/macros.h"
-#include "base/memory/scoped_vector.h"
-#include "base/memory/weak_ptr.h"
-#include "components/sync/base/model_type.h"
-#include "components/sync/core/model_type_connector.h"
-#include "components/sync/core/non_blocking_sync_common.h"
-#include "components/sync/core/sync_encryption_handler.h"
-#include "components/sync/engine/model_safe_worker.h"
-#include "components/sync/engine_impl/nudge_handler.h"
-#include "components/sync/sessions/type_debug_info_observer.h"
-
-namespace syncer_v2 {
-struct DataTypeState;
-class ModelTypeProcessor;
-class ModelTypeWorker;
-}
-
-namespace syncer {
-
-namespace syncable {
-class Directory;
-} // namespace syncable
-
-class CommitContributor;
-class DirectoryCommitContributor;
-class DirectoryUpdateHandler;
-class DirectoryTypeDebugInfoEmitter;
-class UpdateHandler;
-
-typedef std::map<ModelType, UpdateHandler*> UpdateHandlerMap;
-typedef std::map<ModelType, CommitContributor*> CommitContributorMap;
-typedef std::map<ModelType, DirectoryTypeDebugInfoEmitter*>
- DirectoryTypeDebugInfoEmitterMap;
-
-// Keeps track of the sets of active update handlers and commit contributors.
-class ModelTypeRegistry : public syncer_v2::ModelTypeConnector,
- public SyncEncryptionHandler::Observer {
- public:
- // Constructs a ModelTypeRegistry that supports directory types.
- ModelTypeRegistry(const std::vector<scoped_refptr<ModelSafeWorker>>& workers,
- syncable::Directory* directory,
- NudgeHandler* nudge_handler);
- ~ModelTypeRegistry() override;
-
- // Sets the set of enabled types.
- void SetEnabledDirectoryTypes(const ModelSafeRoutingInfo& routing_info);
-
- // Enables an off-thread type for syncing. Connects the given proxy
- // and its task_runner to the newly created worker.
- //
- // Expects that the proxy's ModelType is not currently enabled.
- void ConnectType(syncer::ModelType type,
- std::unique_ptr<syncer_v2::ActivationContext>
- activation_context) override;
-
- // Disables the syncing of an off-thread type.
- //
- // Expects that the type is currently enabled.
- // Deletes the worker associated with the type.
- void DisconnectType(syncer::ModelType type) override;
-
- // Implementation of SyncEncryptionHandler::Observer.
- void OnPassphraseRequired(
- PassphraseRequiredReason reason,
- const sync_pb::EncryptedData& pending_keys) override;
- void OnPassphraseAccepted() override;
- void OnBootstrapTokenUpdated(const std::string& bootstrap_token,
- BootstrapTokenType type) override;
- void OnEncryptedTypesChanged(ModelTypeSet encrypted_types,
- bool encrypt_everything) override;
- void OnEncryptionComplete() override;
- void OnCryptographerStateChanged(Cryptographer* cryptographer) override;
- void OnPassphraseTypeChanged(PassphraseType type,
- base::Time passphrase_time) override;
- void OnLocalSetPassphraseEncryption(
- const SyncEncryptionHandler::NigoriState& nigori_state) override;
-
- // Gets the set of enabled types.
- ModelTypeSet GetEnabledTypes() const;
-
- // Returns set of types for which initial set of updates was downloaded and
- // applied.
- ModelTypeSet GetInitialSyncEndedTypes() const;
-
- // Simple getters.
- UpdateHandlerMap* update_handler_map();
- CommitContributorMap* commit_contributor_map();
- DirectoryTypeDebugInfoEmitterMap* directory_type_debug_info_emitter_map();
-
- void RegisterDirectoryTypeDebugInfoObserver(
- syncer::TypeDebugInfoObserver* observer);
- void UnregisterDirectoryTypeDebugInfoObserver(
- syncer::TypeDebugInfoObserver* observer);
- bool HasDirectoryTypeDebugInfoObserver(
- const syncer::TypeDebugInfoObserver* observer) const;
- void RequestEmitDebugInfo();
-
- base::WeakPtr<ModelTypeConnector> AsWeakPtr();
-
- private:
- void OnEncryptionStateChanged();
-
- ModelTypeSet GetEnabledNonBlockingTypes() const;
- ModelTypeSet GetEnabledDirectoryTypes() const;
-
- // Sets of handlers and contributors.
- ScopedVector<DirectoryCommitContributor> directory_commit_contributors_;
- ScopedVector<DirectoryUpdateHandler> directory_update_handlers_;
- ScopedVector<DirectoryTypeDebugInfoEmitter>
- directory_type_debug_info_emitters_;
-
- ScopedVector<syncer_v2::ModelTypeWorker> model_type_workers_;
-
- // Maps of UpdateHandlers and CommitContributors.
- // They do not own any of the objects they point to.
- UpdateHandlerMap update_handler_map_;
- CommitContributorMap commit_contributor_map_;
-
- // Map of DebugInfoEmitters for directory types.
- // Non-blocking types handle debug info differently.
- // Does not own its contents.
- DirectoryTypeDebugInfoEmitterMap directory_type_debug_info_emitter_map_;
-
- // The known ModelSafeWorkers.
- std::map<ModelSafeGroup, scoped_refptr<ModelSafeWorker>> workers_map_;
-
- // The directory. Not owned.
- syncable::Directory* directory_;
-
- // A copy of the directory's most recent cryptographer.
- std::unique_ptr<Cryptographer> cryptographer_;
-
- // The set of encrypted types.
- ModelTypeSet encrypted_types_;
-
- // The NudgeHandler. Not owned.
- NudgeHandler* nudge_handler_;
-
- // The set of enabled directory types.
- ModelTypeSet enabled_directory_types_;
-
- // The set of observers of per-type debug info.
- //
- // Each of the DirectoryTypeDebugInfoEmitters needs such a list. There's
- // a lot of them, and their lifetimes are unpredictable, so it makes the
- // book-keeping easier if we just store the list here. That way it's
- // guaranteed to live as long as this sync backend.
- base::ObserverList<TypeDebugInfoObserver> type_debug_info_observers_;
-
- base::WeakPtrFactory<ModelTypeRegistry> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(ModelTypeRegistry);
-};
-
-} // namespace syncer
-
-#endif // COMPONENTS_SYNC_SESSIONS_IMPL_MODEL_TYPE_REGISTRY_H_
« no previous file with comments | « components/sync/sessions_impl/DEPS ('k') | components/sync/sessions_impl/model_type_registry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698