| 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_
|
|
|