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

Unified Diff: components/sync/driver/directory_data_type_controller.h

Issue 2276943006: [USS] Move GetAllNodes from backend to controller (Closed)
Patch Set: update for Max 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/directory_data_type_controller.h
diff --git a/components/sync/driver/directory_data_type_controller.h b/components/sync/driver/directory_data_type_controller.h
index be2c36442d61907e948ee7bb2fe25bf4a8b7781e..16d1f94412ccb8aac78c5125049d749563954fad 100644
--- a/components/sync/driver/directory_data_type_controller.h
+++ b/components/sync/driver/directory_data_type_controller.h
@@ -7,7 +7,9 @@
#include "components/sync/driver/data_type_controller.h"
+#include "components/sync/driver/sync_client.h"
#include "components/sync/engine/model_safe_worker.h"
+#include "components/sync/syncable/directory.h"
namespace sync_driver {
class ChangeProcessor;
@@ -17,6 +19,7 @@ class DirectoryDataTypeController : public DataTypeController {
public:
// DataTypeController implementation.
bool ShouldLoadModelBeforeConfigure() const override;
+ void GetAllNodes(const AllNodesCallback& callback) override;
// Directory based data types don't need to register with backend.
// ModelTypeRegistry will create all necessary objects in
@@ -37,6 +40,12 @@ class DirectoryDataTypeController : public DataTypeController {
// See BackendDataTypeConfigurer::DeactivateDataType for more details.
void DeactivateDataType(BackendDataTypeConfigurer* configurer) override;
+ // Returns a ListValue representing all nodes for a specified type by querying
+ // the directory.
+ static std::unique_ptr<base::ListValue> GetAllNodesForTypeFromDirectory(
+ syncer::ModelType type,
+ syncer::syncable::Directory* directory);
+
protected:
// The model safe group of this data type. This should reflect the
// thread that should be used to modify the data type's native
@@ -49,9 +58,12 @@ class DirectoryDataTypeController : public DataTypeController {
DirectoryDataTypeController(
const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
- const base::Closure& error_callback);
+ const base::Closure& error_callback,
+ SyncClient* sync_client);
~DirectoryDataTypeController() override;
+
+ SyncClient* const sync_client_;
};
} // namespace sync_driver
« no previous file with comments | « components/sync/driver/data_type_controller.h ('k') | components/sync/driver/directory_data_type_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698