| Index: chrome/browser/sync/glue/sync_backend_host.h
|
| diff --git a/chrome/browser/sync/glue/sync_backend_host.h b/chrome/browser/sync/glue/sync_backend_host.h
|
| deleted file mode 100644
|
| index f2eee5c7fd0cf4e696f7886d950fe4a63f97be36..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/sync/glue/sync_backend_host.h
|
| +++ /dev/null
|
| @@ -1,235 +0,0 @@
|
| -// Copyright (c) 2012 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_SYNC_BACKEND_HOST_H_
|
| -#define CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/callback.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/threading/thread.h"
|
| -#include "components/sync_driver/backend_data_type_configurer.h"
|
| -#include "sync/internal_api/public/base/model_type.h"
|
| -#include "sync/internal_api/public/configure_reason.h"
|
| -#include "sync/internal_api/public/sessions/sync_session_snapshot.h"
|
| -#include "sync/internal_api/public/shutdown_reason.h"
|
| -#include "sync/internal_api/public/sync_manager.h"
|
| -#include "sync/internal_api/public/sync_manager_factory.h"
|
| -#include "sync/internal_api/public/util/weak_handle.h"
|
| -
|
| -class GURL;
|
| -
|
| -namespace base {
|
| -class MessageLoop;
|
| -}
|
| -
|
| -namespace syncer {
|
| -class CancelationSignal;
|
| -class HttpPostProviderFactory;
|
| -class SyncManagerFactory;
|
| -class UnrecoverableErrorHandler;
|
| -}
|
| -
|
| -namespace sync_driver {
|
| -class ChangeProcessor;
|
| -class SyncFrontend;
|
| -}
|
| -
|
| -namespace browser_sync {
|
| -
|
| -// 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 sync_driver::BackendDataTypeConfigurer {
|
| - public:
|
| - typedef syncer::SyncStatus Status;
|
| - typedef base::Callback<scoped_ptr<syncer::HttpPostProviderFactory>(
|
| - syncer::CancelationSignal*)> HttpPostProviderFactoryGetter;
|
| -
|
| - // Stubs used by implementing classes.
|
| - SyncBackendHost();
|
| - ~SyncBackendHost() 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.
|
| - //
|
| - // |saved_nigori_state| is optional nigori state to restore from a previous
|
| - // backend instance. May be null.
|
| - virtual void Initialize(
|
| - sync_driver::SyncFrontend* frontend,
|
| - scoped_ptr<base::Thread> sync_thread,
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& file_thread,
|
| - const syncer::WeakHandle<syncer::JsEventHandler>& event_handler,
|
| - const GURL& service_url,
|
| - const std::string& sync_user_agent,
|
| - const syncer::SyncCredentials& credentials,
|
| - bool delete_sync_data_folder,
|
| - scoped_ptr<syncer::SyncManagerFactory> sync_manager_factory,
|
| - const syncer::WeakHandle<syncer::UnrecoverableErrorHandler>&
|
| - unrecoverable_error_handler,
|
| - const base::Closure& report_unrecoverable_error_function,
|
| - const HttpPostProviderFactoryGetter& http_post_provider_factory_getter,
|
| - scoped_ptr<syncer::SyncEncryptionHandler::NigoriState>
|
| - saved_nigori_state) = 0;
|
| -
|
| - // Called on the frontend's thread to trigger a refresh.
|
| - virtual void TriggerRefresh(const syncer::ModelTypeSet& types) = 0;
|
| -
|
| - // Called on the frontend's thread to update SyncCredentials.
|
| - virtual void UpdateCredentials(
|
| - const syncer::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
|
| - // 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:
|
| - // - 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:
|
| - // - If there are pending keys, we try to decrypt them. If decryption works,
|
| - // this acts like a call to SetDecryptionPassphrase. If not, the GAIA
|
| - // passphrase passed in is cached so we can re-encrypt with it in future.
|
| - // - If there are no pending keys, data is encrypted with |passphrase| (this
|
| - // is a no-op if data was already encrypted with |passphrase|.)
|
| - 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.
|
| - 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.
|
| - 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.
|
| - // For any reason other than BROWSER_SHUTDOWN, caller should claim sync
|
| - // thread because:
|
| - // * during browser shutdown sync thread is not claimed to avoid blocking
|
| - // browser shutdown on sync shutdown.
|
| - // * otherwise sync thread is claimed so that if sync backend is recreated
|
| - // later, initialization of new backend is serialized on previous sync
|
| - // thread after cleanup of previous backend to avoid old/new backends
|
| - // interfere with each other.
|
| - virtual scoped_ptr<base::Thread> Shutdown(syncer::ShutdownReason reason) = 0;
|
| -
|
| - // Removes all current registrations from the backend on the
|
| - // InvalidationService.
|
| - virtual void UnregisterInvalidationIds() = 0;
|
| -
|
| - // Changes the set of data types that are currently being synced.
|
| - // The ready_task will be run when configuration is done with the
|
| - // set of all types that failed configuration (i.e., if its argument
|
| - // 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.
|
| - syncer::ModelTypeSet ConfigureDataTypes(
|
| - syncer::ConfigureReason reason,
|
| - const DataTypeConfigStateMap& config_state_map,
|
| - const base::Callback<void(syncer::ModelTypeSet, syncer::ModelTypeSet)>&
|
| - ready_task,
|
| - const base::Callback<void()>& retry_callback) override = 0;
|
| -
|
| - // 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().
|
| - virtual syncer::UserShare* GetUserShare() const = 0;
|
| -
|
| - // Called from any thread to obtain current status information in detailed or
|
| - // summarized form.
|
| - virtual Status GetDetailedStatus() = 0;
|
| - virtual syncer::sessions::SyncSessionSnapshot
|
| - GetLastSessionSnapshot() const = 0;
|
| -
|
| - // Determines if the underlying sync engine has made any local changes to
|
| - // items that have not yet been synced with the server.
|
| - // ONLY CALL THIS IF OnInitializationComplete was called!
|
| - virtual bool HasUnsyncedItems() const = 0;
|
| -
|
| - // Whether or not we are syncing encryption keys.
|
| - virtual bool IsNigoriEnabled() const = 0;
|
| -
|
| - // Returns the type of passphrase being used to encrypt data. See
|
| - // sync_encryption_handler.h.
|
| - virtual syncer::PassphraseType GetPassphraseType() const = 0;
|
| -
|
| - // If an explicit passphrase is in use, returns the time at which that
|
| - // passphrase was set (if available).
|
| - virtual base::Time GetExplicitPassphraseTime() const = 0;
|
| -
|
| - // True if the cryptographer has any keys available to attempt decryption.
|
| - // Could mean we've downloaded and loaded Nigori objects, or we bootstrapped
|
| - // using a token previously received.
|
| - virtual bool IsCryptographerReady(
|
| - const syncer::BaseTransaction* trans) const = 0;
|
| -
|
| - virtual void GetModelSafeRoutingInfo(
|
| - syncer::ModelSafeRoutingInfo* out) const = 0;
|
| -
|
| - // Send a message to the sync thread to persist the Directory to disk.
|
| - virtual void FlushDirectory() const = 0;
|
| -
|
| - // Requests that the backend forward to the fronent any protocol events in
|
| - // its buffer and begin forwarding automatically from now on. Repeated calls
|
| - // to this function may result in the same events being emitted several
|
| - // times.
|
| - virtual void RequestBufferedProtocolEventsAndEnableForwarding() = 0;
|
| -
|
| - // Disables protocol event forwarding.
|
| - virtual void DisableProtocolEventForwarding() = 0;
|
| -
|
| - // Returns a ListValue representing all nodes for the specified types through
|
| - // |callback| on this thread.
|
| - virtual void GetAllNodesForTypes(
|
| - syncer::ModelTypeSet types,
|
| - base::Callback<void(const std::vector<syncer::ModelType>&,
|
| - ScopedVector<base::ListValue>)> type) = 0;
|
| -
|
| - // Enables the sending of directory type debug counters. Also, for every
|
| - // time it is called, it makes an explicit request that updates to an update
|
| - // for all counters be emitted.
|
| - virtual void EnableDirectoryTypeDebugInfoForwarding() = 0;
|
| -
|
| - // Disables the sending of directory type debug counters.
|
| - virtual void DisableDirectoryTypeDebugInfoForwarding() = 0;
|
| -
|
| - virtual base::MessageLoop* GetSyncLoopForTesting() = 0;
|
| -
|
| - // Triggers sync cycle to update |types|.
|
| - virtual void RefreshTypesForTest(syncer::ModelTypeSet types) = 0;
|
| -
|
| - // See SyncManager::ClearServerData.
|
| - virtual void ClearServerData(
|
| - const syncer::SyncManager::ClearServerDataCallback& callback) = 0;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SyncBackendHost);
|
| -};
|
| -
|
| -} // namespace browser_sync
|
| -
|
| -#endif // CHROME_BROWSER_SYNC_GLUE_SYNC_BACKEND_HOST_H_
|
|
|