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

Unified Diff: components/sync_driver/generic_change_processor.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/generic_change_processor.h
diff --git a/components/sync_driver/generic_change_processor.h b/components/sync_driver/generic_change_processor.h
deleted file mode 100644
index f9b1c1b6e3bcf1c9f2695c8aecfd13d7703a7bba..0000000000000000000000000000000000000000
--- a/components/sync_driver/generic_change_processor.h
+++ /dev/null
@@ -1,182 +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_GENERIC_CHANGE_PROCESSOR_H_
-#define COMPONENTS_SYNC_DRIVER_GENERIC_CHANGE_PROCESSOR_H_
-
-#include <stdint.h>
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "base/threading/non_thread_safe.h"
-#include "components/sync/api/attachments/attachment_store.h"
-#include "components/sync/api/sync_change_processor.h"
-#include "components/sync/api/sync_merge_result.h"
-#include "components/sync/core/attachments/attachment_service.h"
-#include "components/sync/core/attachments/attachment_service_proxy.h"
-#include "components/sync_driver/change_processor.h"
-
-namespace syncer {
-class DataTypeErrorHandler;
-class SyncData;
-class SyncableService;
-class WriteNode;
-class WriteTransaction;
-
-typedef std::vector<syncer::SyncData> SyncDataList;
-} // namespace syncer
-
-namespace sync_driver {
-
-class SyncApiComponentFactory;
-class SyncClient;
-
-// Datatype agnostic change processor. One instance of GenericChangeProcessor
-// is created for each datatype and lives on the datatype's thread. It then
-// handles all interaction with the sync api, both translating pushes from the
-// local service into transactions and receiving changes from the sync model,
-// which then get converted into SyncChange's and sent to the local service.
-//
-// As a rule, the GenericChangeProcessor is not thread safe, and should only
-// be used on the same thread in which it was created.
-class GenericChangeProcessor : public ChangeProcessor,
- public syncer::SyncChangeProcessor,
- public syncer::AttachmentService::Delegate,
- public base::NonThreadSafe {
- public:
- // Create a change processor for |type| and connect it to the syncer.
- // |attachment_store| can be NULL which means that datatype will not use sync
- // attachments.
- GenericChangeProcessor(
- syncer::ModelType type,
- syncer::DataTypeErrorHandler* error_handler,
- const base::WeakPtr<syncer::SyncableService>& local_service,
- const base::WeakPtr<syncer::SyncMergeResult>& merge_result,
- syncer::UserShare* user_share,
- SyncClient* sync_client,
- std::unique_ptr<syncer::AttachmentStoreForSync> attachment_store);
- ~GenericChangeProcessor() override;
-
- // ChangeProcessor interface.
- // Build and store a list of all changes into |syncer_changes_|.
- void ApplyChangesFromSyncModel(
- const syncer::BaseTransaction* trans,
- int64_t version,
- const syncer::ImmutableChangeRecordList& changes) override;
- // Passes |syncer_changes_|, built in ApplyChangesFromSyncModel, onto
- // |local_service_| by way of its ProcessSyncChanges method.
- void CommitChangesFromSyncModel() override;
-
- // syncer::SyncChangeProcessor implementation.
- syncer::SyncError ProcessSyncChanges(
- const tracked_objects::Location& from_here,
- const syncer::SyncChangeList& change_list) override;
- syncer::SyncDataList GetAllSyncData(syncer::ModelType type) const override;
- syncer::SyncError UpdateDataTypeContext(
- syncer::ModelType type,
- syncer::SyncChangeProcessor::ContextRefreshStatus refresh_status,
- const std::string& context) override;
-
- // syncer::AttachmentService::Delegate implementation.
- void OnAttachmentUploaded(const syncer::AttachmentId& attachment_id) override;
-
- // Similar to above, but returns a SyncError for use by direct clients
- // of GenericChangeProcessor that may need more error visibility.
- virtual syncer::SyncError GetAllSyncDataReturnError(
- syncer::SyncDataList* data) const;
-
- // If a datatype context associated with this GenericChangeProcessor's type
- // exists, fills |context| and returns true. Otheriwse, if there has not been
- // a context set, returns false.
- virtual bool GetDataTypeContext(std::string* context) const;
-
- // Returns the number of items for this type.
- virtual int GetSyncCount();
-
- // Generic versions of AssociatorInterface methods. Called by
- // syncer::SyncableServiceAdapter or the DataTypeController.
- virtual bool SyncModelHasUserCreatedNodes(bool* has_nodes);
- virtual bool CryptoReadyIfNecessary();
-
- // Gets AttachmentService proxy for datatype.
- std::unique_ptr<syncer::AttachmentService> GetAttachmentService() const;
-
- protected:
- // ChangeProcessor interface.
- void StartImpl() override; // Does nothing.
- syncer::UserShare* share_handle() const override;
-
- private:
- // Logically part of ProcessSyncChanges.
- //
- // |new_attachments| is an output parameter containing newly added attachments
- // that need to be stored. This method will append to it.
- syncer::SyncError HandleActionAdd(const syncer::SyncChange& change,
- const std::string& type_str,
- const syncer::WriteTransaction& trans,
- syncer::WriteNode* sync_node,
- syncer::AttachmentIdSet* new_attachments);
-
- // Logically part of ProcessSyncChanges.
- //
- // |new_attachments| is an output parameter containing newly added attachments
- // that need to be stored. This method will append to it.
- syncer::SyncError HandleActionUpdate(
- const syncer::SyncChange& change,
- const std::string& type_str,
- const syncer::WriteTransaction& trans,
- syncer::WriteNode* sync_node,
- syncer::AttachmentIdSet* new_attachments);
-
- // Begin uploading attachments that have not yet been uploaded to the sync
- // server.
- void UploadAllAttachmentsNotOnServer();
-
- const syncer::ModelType type_;
-
- // The SyncableService this change processor will forward changes on to.
- const base::WeakPtr<syncer::SyncableService> local_service_;
-
- // A SyncMergeResult used to track the changes made during association. The
- // owner will invalidate the weak pointer when association is complete. While
- // the pointer is valid though, we increment it with any changes received
- // via ProcessSyncChanges.
- const base::WeakPtr<syncer::SyncMergeResult> merge_result_;
-
- // The current list of changes received from the syncer. We buffer because
- // we must ensure no syncapi transaction is held when we pass it on to
- // |local_service_|.
- // Set in ApplyChangesFromSyncModel, consumed in CommitChangesFromSyncModel.
- syncer::SyncChangeList syncer_changes_;
-
- // Our handle to the sync model. Unlike normal ChangeProcessors, we need to
- // be able to access the sync model before the change processor begins
- // listening to changes (the local_service_ will be interacting with us
- // when it starts up). As such we can't wait until Start(_) has been called,
- // and have to keep a local pointer to the user_share.
- syncer::UserShare* const share_handle_;
-
- // AttachmentService for datatype. Can be NULL if datatype doesn't use
- // attachments.
- std::unique_ptr<syncer::AttachmentService> attachment_service_;
-
- // Must be destroyed before attachment_service_ to ensure WeakPtrs are
- // invalidated before attachment_service_ is destroyed.
- // Can be NULL if attachment_service_ is NULL;
- std::unique_ptr<base::WeakPtrFactory<syncer::AttachmentService>>
- attachment_service_weak_ptr_factory_;
- syncer::AttachmentServiceProxy attachment_service_proxy_;
- base::WeakPtrFactory<GenericChangeProcessor> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(GenericChangeProcessor);
-};
-
-} // namespace sync_driver
-
-#endif // COMPONENTS_SYNC_DRIVER_GENERIC_CHANGE_PROCESSOR_H_
« no previous file with comments | « components/sync_driver/frontend_data_type_controller_unittest.cc ('k') | components/sync_driver/generic_change_processor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698