| Index: components/sync/engine/sync_engine.h
|
| diff --git a/components/sync/driver/glue/sync_backend_host.h b/components/sync/engine/sync_engine.h
|
| similarity index 73%
|
| rename from components/sync/driver/glue/sync_backend_host.h
|
| rename to components/sync/engine/sync_engine.h
|
| index ec8ce49679e5f0bec53a3e687a14375fc83a3782..790651ff8c132b81be37e9f5aabdaee0f89af404 100644
|
| --- a/components/sync/driver/glue/sync_backend_host.h
|
| +++ b/components/sync/engine/sync_engine.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_H_
|
| -#define COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_H_
|
| +#ifndef COMPONENTS_SYNC_ENGINE_SYNC_ENGINE_H_
|
| +#define COMPONENTS_SYNC_ENGINE_SYNC_ENGINE_H_
|
|
|
| #include <memory>
|
| #include <string>
|
| @@ -14,9 +14,9 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "components/sync/base/model_type.h"
|
| #include "components/sync/base/weak_handle.h"
|
| -#include "components/sync/driver/backend_data_type_configurer.h"
|
| #include "components/sync/engine/configure_reason.h"
|
| #include "components/sync/engine/cycle/sync_cycle_snapshot.h"
|
| +#include "components/sync/engine/model_type_configurer.h"
|
| #include "components/sync/engine/shutdown_reason.h"
|
| #include "components/sync/engine/sync_manager.h"
|
| #include "components/sync/engine/sync_manager_factory.h"
|
| @@ -27,15 +27,15 @@ namespace syncer {
|
|
|
| class CancelationSignal;
|
| class HttpPostProviderFactory;
|
| -class SyncFrontend;
|
| +class SyncEngineHost;
|
| class SyncManagerFactory;
|
| class UnrecoverableErrorHandler;
|
|
|
| -// An API to "host" the top level SyncAPI element.
|
| -//
|
| -// This class handles dispatch of potentially blocking calls to appropriate
|
| -// threads and ensures that the SyncFrontend is only accessed on the UI loop.
|
| -class SyncBackendHost : public BackendDataTypeConfigurer {
|
| +// The interface into the sync engine, which is the part of sync that performs
|
| +// communication between model types and the sync server. In prod the engine
|
| +// will always live on the sync thread and the object implementing this
|
| +// interface will handle crossing threads if necessary.
|
| +class SyncEngine : public ModelTypeConfigurer {
|
| public:
|
| typedef SyncStatus Status;
|
| typedef base::Callback<std::unique_ptr<HttpPostProviderFactory>(
|
| @@ -43,17 +43,16 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| HttpPostProviderFactoryGetter;
|
|
|
| // Stubs used by implementing classes.
|
| - SyncBackendHost();
|
| - ~SyncBackendHost() override;
|
| + SyncEngine();
|
| + ~SyncEngine() override;
|
|
|
| - // Called on the frontend's thread to kick off asynchronous initialization.
|
| - // Optionally deletes the "Sync Data" folder during init in order to make
|
| - // sure we're starting fresh.
|
| + // Kicks off asynchronous initialization. Optionally deletes sync data during
|
| + // init in order to make sure we're starting fresh.
|
| //
|
| // |saved_nigori_state| is optional nigori state to restore from a previous
|
| - // backend instance. May be null.
|
| + // engine instance. May be null.
|
| virtual void Initialize(
|
| - SyncFrontend* frontend,
|
| + SyncEngineHost* host,
|
| scoped_refptr<base::SingleThreadTaskRunner> sync_task_runner,
|
| const WeakHandle<JsEventHandler>& event_handler,
|
| const GURL& service_url,
|
| @@ -69,21 +68,19 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| std::unique_ptr<SyncEncryptionHandler::NigoriState>
|
| saved_nigori_state) = 0;
|
|
|
| - // Called on the frontend's thread to trigger a refresh.
|
| + // Inform the engine to trigger a sync cycle for |types|.
|
| virtual void TriggerRefresh(const ModelTypeSet& types) = 0;
|
|
|
| - // Called on the frontend's thread to update SyncCredentials.
|
| + // Updates the engine's SyncCredentials.
|
| virtual void UpdateCredentials(const SyncCredentials& credentials) = 0;
|
|
|
| - // This starts the SyncerThread running a Syncer object to communicate with
|
| - // sync servers. Until this is called, no changes will leave or enter this
|
| + // This starts the sync engine running a Syncer object to communicate with
|
| + // sync servers. Until this is called, no changes will leave or enter this
|
| // browser from the cloud / sync servers.
|
| - // Called on |frontend_loop_|.
|
| virtual void StartSyncingWithServer() = 0;
|
|
|
| - // Called on |frontend_loop_| to asynchronously set a new passphrase for
|
| - // encryption. Note that it is an error to call SetEncryptionPassphrase under
|
| - // the following circumstances:
|
| + // Asynchronously set a new passphrase for encryption. Note that it is an
|
| + // error to call SetEncryptionPassphrase under the following circumstances:
|
| // - An explicit passphrase has already been set
|
| // - |is_explicit| is true and we have pending keys.
|
| // When |is_explicit| is false, a couple of things could happen:
|
| @@ -95,21 +92,20 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| virtual void SetEncryptionPassphrase(const std::string& passphrase,
|
| bool is_explicit) = 0;
|
|
|
| - // Called on |frontend_loop_| to use the provided passphrase to asynchronously
|
| - // attempt decryption. Returns false immediately if the passphrase could not
|
| - // be used to decrypt a locally cached copy of encrypted keys; returns true
|
| - // otherwise. If new encrypted keys arrive during the asynchronous call,
|
| - // OnPassphraseRequired may be triggered at a later time. It is an error to
|
| - // call this when there are no pending keys.
|
| + // Use the provided passphrase to asynchronously attempt decryption. Returns
|
| + // false immediately if the passphrase could not be used to decrypt a locally
|
| + // cached copy of encrypted keys; returns true otherwise. If new encrypted
|
| + // keys arrive during the asynchronous call, OnPassphraseRequired may be
|
| + // triggered at a later time. It is an error to call this when there are no
|
| + // pending keys.
|
| virtual bool SetDecryptionPassphrase(const std::string& passphrase)
|
| WARN_UNUSED_RESULT = 0;
|
|
|
| - // Called on |frontend_loop_| to kick off shutdown procedure. Attempts to cut
|
| - // short any long-lived or blocking sync thread tasks so that the shutdown on
|
| - // sync thread task that we're about to post won't have to wait very long.
|
| + // Kick off shutdown procedure. Attempts to cut short any long-lived or
|
| + // blocking sync thread tasks so that the shutdown on sync thread task that
|
| + // we're about to post won't have to wait very long.
|
| virtual void StopSyncingForShutdown() = 0;
|
|
|
| - // Called on |frontend_loop_| to kick off shutdown.
|
| // See the implementation and Core::DoShutdown for details.
|
| // Must be called *after* StopSyncingForShutdown.
|
| virtual void Shutdown(ShutdownReason reason) = 0;
|
| @@ -124,7 +120,7 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| // is non-empty, then an error was encountered).
|
| // Returns the set of types that are ready to start without needing any
|
| // further sync activity.
|
| - // BackendDataTypeConfigurer implementation.
|
| + // ModelTypeConfigurer implementation.
|
| ModelTypeSet ConfigureDataTypes(
|
| ConfigureReason reason,
|
| const DataTypeConfigStateMap& config_state_map,
|
| @@ -134,9 +130,9 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| // Turns on encryption of all present and future sync data.
|
| virtual void EnableEncryptEverything() = 0;
|
|
|
| - // Called on |frontend_loop_| to obtain a handle to the UserShare needed for
|
| - // creating transactions. Should not be called before we signal
|
| - // initialization is complete with OnBackendInitialized().
|
| + // Obtain a handle to the UserShare needed for creating transactions. Should
|
| + // not be called before we signal initialization is complete with
|
| + // OnBackendInitialized().
|
| virtual UserShare* GetUserShare() const = 0;
|
|
|
| // Called from any thread to obtain current status information in detailed or
|
| @@ -199,9 +195,9 @@ class SyncBackendHost : public BackendDataTypeConfigurer {
|
| virtual void OnCookieJarChanged(bool account_mismatch, bool empty_jar) = 0;
|
|
|
| private:
|
| - DISALLOW_COPY_AND_ASSIGN(SyncBackendHost);
|
| + DISALLOW_COPY_AND_ASSIGN(SyncEngine);
|
| };
|
|
|
| } // namespace syncer
|
|
|
| -#endif // COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_H_
|
| +#endif // COMPONENTS_SYNC_ENGINE_SYNC_ENGINE_H_
|
|
|