| Index: components/sync_driver/ui_data_type_controller.h
|
| diff --git a/components/sync_driver/ui_data_type_controller.h b/components/sync_driver/ui_data_type_controller.h
|
| deleted file mode 100644
|
| index 130b851ad7c1a6815e7dacdbb454ab3f1a72e74e..0000000000000000000000000000000000000000
|
| --- a/components/sync_driver/ui_data_type_controller.h
|
| +++ /dev/null
|
| @@ -1,140 +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_DRIVER_UI_DATA_TYPE_CONTROLLER_H_
|
| -#define COMPONENTS_SYNC_DRIVER_UI_DATA_TYPE_CONTROLLER_H_
|
| -
|
| -#include <memory>
|
| -#include <string>
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/macros.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "components/sync_driver/directory_data_type_controller.h"
|
| -#include "components/sync_driver/shared_change_processor.h"
|
| -
|
| -namespace base {
|
| -class TimeDelta;
|
| -}
|
| -
|
| -namespace syncer {
|
| -class SyncableService;
|
| -class SyncClient;
|
| -class SyncError;
|
| -}
|
| -
|
| -namespace sync_driver {
|
| -
|
| -// Implementation for datatypes that reside on the (UI thread). This is the same
|
| -// thread we perform initialization on, so we don't have to worry about thread
|
| -// safety. The main start/stop funtionality is implemented by default.
|
| -// Note: RefCountedThreadSafe by way of DataTypeController.
|
| -class UIDataTypeController : public DirectoryDataTypeController {
|
| - public:
|
| - UIDataTypeController(
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
|
| - const base::Closure& error_callback,
|
| - syncer::ModelType type,
|
| - SyncClient* sync_client);
|
| -
|
| - // DataTypeController interface.
|
| - void LoadModels(const ModelLoadCallback& model_load_callback) override;
|
| - void StartAssociating(const StartCallback& start_callback) override;
|
| - void Stop() override;
|
| - syncer::ModelType type() const override;
|
| - syncer::ModelSafeGroup model_safe_group() const override;
|
| - ChangeProcessor* GetChangeProcessor() const override;
|
| - std::string name() const override;
|
| - State state() const override;
|
| -
|
| - // DataTypeErrorHandler interface.
|
| - void OnSingleDataTypeUnrecoverableError(
|
| - const syncer::SyncError& error) override;
|
| -
|
| - // Used by tests to override the factory used to create
|
| - // GenericChangeProcessors.
|
| - void SetGenericChangeProcessorFactoryForTest(
|
| - std::unique_ptr<GenericChangeProcessorFactory> factory);
|
| -
|
| - protected:
|
| - // For testing only.
|
| - UIDataTypeController();
|
| - // DataTypeController is RefCounted.
|
| - ~UIDataTypeController() override;
|
| -
|
| - // Start any dependent services that need to be running before we can
|
| - // associate models. The default implementation is a no-op.
|
| - // Return value:
|
| - // True - if models are ready and association can proceed.
|
| - // False - if models are not ready. OnModelLoaded() should be called when
|
| - // the models are ready.
|
| - virtual bool StartModels();
|
| -
|
| - // Perform any DataType controller specific state cleanup before stopping
|
| - // the datatype controller. The default implementation is a no-op.
|
| - virtual void StopModels();
|
| -
|
| - // Helper method for cleaning up state and invoking the start callback.
|
| - virtual void StartDone(ConfigureResult result,
|
| - const syncer::SyncMergeResult& local_merge_result,
|
| - const syncer::SyncMergeResult& syncer_merge_result);
|
| -
|
| - // Record association time.
|
| - virtual void RecordAssociationTime(base::TimeDelta time);
|
| - // Record causes of start failure.
|
| - virtual void RecordStartFailure(ConfigureResult result);
|
| -
|
| - // If the DTC is waiting for models to load, once the models are
|
| - // loaded the datatype service will call this function on DTC to let
|
| - // us know that it is safe to start associating.
|
| - void OnModelLoaded();
|
| -
|
| - SyncClient* const sync_client_;
|
| -
|
| - State state_;
|
| -
|
| - StartCallback start_callback_;
|
| - ModelLoadCallback model_load_callback_;
|
| -
|
| - // The sync datatype being controlled.
|
| - syncer::ModelType type_;
|
| -
|
| - // Sync's interface to the datatype. All sync changes for |type_| are pushed
|
| - // through it to the datatype as well as vice versa.
|
| - //
|
| - // Lifetime: it gets created when Start()) is called, and a reference to it
|
| - // is passed to |local_service_| during Associate(). We release our reference
|
| - // when Stop() or StartFailed() is called, and |local_service_| releases its
|
| - // reference when local_service_->StopSyncing() is called or when it is
|
| - // destroyed.
|
| - //
|
| - // Note: we use refcounting here primarily so that we can keep a uniform
|
| - // SyncableService API, whether the datatype lives on the UI thread or not
|
| - // (a syncer::SyncableService takes ownership of its SyncChangeProcessor when
|
| - // MergeDataAndStartSyncing is called). This will help us eventually merge the
|
| - // two datatype controller implementations (for ui and non-ui thread
|
| - // datatypes).
|
| - scoped_refptr<SharedChangeProcessor> shared_change_processor_;
|
| -
|
| - std::unique_ptr<GenericChangeProcessorFactory> processor_factory_;
|
| -
|
| - // A weak pointer to the actual local syncable service, which performs all the
|
| - // real work. We do not own the object.
|
| - base::WeakPtr<syncer::SyncableService> local_service_;
|
| -
|
| - scoped_refptr<base::SingleThreadTaskRunner> ui_thread_;
|
| -
|
| - private:
|
| - // Associate the sync model with the service's model, then start syncing.
|
| - virtual void Associate();
|
| -
|
| - virtual void AbortModelLoad();
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(UIDataTypeController);
|
| -};
|
| -
|
| -} // namespace sync_driver
|
| -
|
| -#endif // COMPONENTS_SYNC_DRIVER_UI_DATA_TYPE_CONTROLLER_H_
|
|
|