| 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_
|
|
|