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

Unified Diff: components/sync_driver/frontend_data_type_controller.h

Issue 2203673002: [Sync] Move //components/sync_driver to //components/sync/driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@sd-a
Patch Set: Full change rebased on static lib. Created 4 years, 4 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
Index: components/sync_driver/frontend_data_type_controller.h
diff --git a/components/sync_driver/frontend_data_type_controller.h b/components/sync_driver/frontend_data_type_controller.h
deleted file mode 100644
index ec875c6e5d2aa81c1be51efad9846fc7e5e000b9..0000000000000000000000000000000000000000
--- a/components/sync_driver/frontend_data_type_controller.h
+++ /dev/null
@@ -1,145 +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 COMPONENTS_SYNC_DRIVER_FRONTEND_DATA_TYPE_CONTROLLER_H__
-#define COMPONENTS_SYNC_DRIVER_FRONTEND_DATA_TYPE_CONTROLLER_H__
-
-#include <memory>
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/threading/thread_checker.h"
-#include "components/sync/core/data_type_error_handler.h"
-#include "components/sync_driver/directory_data_type_controller.h"
-
-namespace base {
-class SingleThreadTaskRunner;
-class TimeDelta;
-}
-
-namespace syncer {
-class SyncError;
-}
-
-namespace sync_driver {
-class AssociatorInterface;
-class ChangeProcessor;
-class SyncClient;
-}
-
-namespace browser_sync {
-
-// Implementation for datatypes that reside on the frontend thread
-// (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.
-// Derived classes must implement (at least):
-// syncer::ModelType type() const
-// void CreateSyncComponents();
-// NOTE: This class is deprecated! New sync datatypes should be using the
-// syncer::SyncableService API and the UIDataTypeController instead.
-// TODO(zea): Delete this once all types are on the new API.
-class FrontendDataTypeController
- : public sync_driver::DirectoryDataTypeController {
- public:
- FrontendDataTypeController(
- const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
- const base::Closure& error_callback,
- sync_driver::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 = 0;
- syncer::ModelSafeGroup model_safe_group() const override;
- std::string name() const override;
- State state() const override;
-
- // DataTypeErrorHandler interface.
- void OnSingleDataTypeUnrecoverableError(
- const syncer::SyncError& error) override;
-
- protected:
- friend class FrontendDataTypeControllerMock;
-
- // For testing only.
- FrontendDataTypeController();
- ~FrontendDataTypeController() override;
-
- // Kick off 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. Associate() should be called when the
- // models are ready. Refer to Start(_) implementation.
- virtual bool StartModels();
-
- // Datatype specific creation of sync components.
- virtual void CreateSyncComponents() = 0;
-
- // Perform any DataType controller specific state cleanup before stopping
- // the datatype controller. The default implementation is a no-op.
- virtual void CleanUpState();
-
- // Helper method for cleaning up state and running the start callback.
- virtual void StartDone(
- ConfigureResult start_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);
-
- virtual sync_driver::AssociatorInterface* model_associator() const;
- virtual void set_model_associator(
- sync_driver::AssociatorInterface* associator);
- sync_driver::ChangeProcessor* GetChangeProcessor() const override;
- virtual void set_change_processor(sync_driver::ChangeProcessor* processor);
-
- // Handles the reporting of unrecoverable error. It records stuff in
- // UMA and reports to breakpad.
- // Virtual for testing purpose.
- virtual void RecordUnrecoverableError(
- const tracked_objects::Location& from_here,
- const std::string& message);
-
- // 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();
-
- sync_driver::SyncClient* const sync_client_;
-
- State state_;
-
- StartCallback start_callback_;
- ModelLoadCallback model_load_callback_;
-
- // TODO(sync): transition all datatypes to SyncableService and deprecate
- // AssociatorInterface.
- std::unique_ptr<sync_driver::AssociatorInterface> model_associator_;
- std::unique_ptr<sync_driver::ChangeProcessor> change_processor_;
-
- private:
- // Build sync components and associate models.
- virtual void Associate();
-
- void AbortModelLoad();
-
- // Clean up our state and state variables. Called in response
- // to a failure or abort or stop.
- void CleanUp();
-
- base::ThreadChecker thread_checker_;
-
- DISALLOW_COPY_AND_ASSIGN(FrontendDataTypeController);
-};
-
-} // namespace browser_sync
-
-#endif // COMPONENTS_SYNC_DRIVER_FRONTEND_DATA_TYPE_CONTROLLER_H__
« no previous file with comments | « components/sync_driver/fake_sync_service.cc ('k') | components/sync_driver/frontend_data_type_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698