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

Unified Diff: sync/sessions/model_type_registry.h

Issue 2130453004: [Sync] Move //sync to //components/sync. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 5 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 | « sync/sessions/directory_type_debug_info_emitter.cc ('k') | sync/sessions/model_type_registry.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/sessions/model_type_registry.h
diff --git a/sync/sessions/model_type_registry.h b/sync/sessions/model_type_registry.h
deleted file mode 100644
index 099a4e1ee83465d6215149affa93705122cc6cd5..0000000000000000000000000000000000000000
--- a/sync/sessions/model_type_registry.h
+++ /dev/null
@@ -1,170 +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 SYNC_SESSIONS_MODEL_TYPE_REGISTRY_H_
-#define SYNC_SESSIONS_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 "sync/base/sync_export.h"
-#include "sync/engine/nudge_handler.h"
-#include "sync/internal_api/public/base/model_type.h"
-#include "sync/internal_api/public/engine/model_safe_worker.h"
-#include "sync/internal_api/public/model_type_connector.h"
-#include "sync/internal_api/public/non_blocking_sync_common.h"
-#include "sync/internal_api/public/sessions/type_debug_info_observer.h"
-#include "sync/internal_api/public/sync_encryption_handler.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 SYNC_EXPORT 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 // SYNC_SESSIONS_MODEL_TYPE_REGISTRY_H_
« no previous file with comments | « sync/sessions/directory_type_debug_info_emitter.cc ('k') | sync/sessions/model_type_registry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698