| Index: sync/engine/model_type_processor_impl.h
 | 
| diff --git a/sync/engine/model_type_processor_impl.h b/sync/engine/model_type_processor_impl.h
 | 
| deleted file mode 100644
 | 
| index 80dc15df42d63e8203f7d5085aa109b7bc9ab641..0000000000000000000000000000000000000000
 | 
| --- a/sync/engine/model_type_processor_impl.h
 | 
| +++ /dev/null
 | 
| @@ -1,154 +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 SYNC_ENGINE_MODEL_TYPE_SYNC_PROXY_IMPL_H_
 | 
| -#define SYNC_ENGINE_MODEL_TYPE_SYNC_PROXY_IMPL_H_
 | 
| -
 | 
| -#include "base/containers/scoped_ptr_map.h"
 | 
| -#include "base/memory/scoped_ptr.h"
 | 
| -#include "base/memory/weak_ptr.h"
 | 
| -#include "base/threading/non_thread_safe.h"
 | 
| -#include "sync/base/sync_export.h"
 | 
| -#include "sync/engine/model_type_processor.h"
 | 
| -#include "sync/internal_api/public/base/model_type.h"
 | 
| -#include "sync/internal_api/public/non_blocking_sync_common.h"
 | 
| -#include "sync/protocol/sync.pb.h"
 | 
| -
 | 
| -namespace syncer_v2 {
 | 
| -struct ActivationContext;
 | 
| -class CommitQueue;
 | 
| -class ModelTypeEntity;
 | 
| -class ModelTypeStore;
 | 
| -
 | 
| -// A sync component embedded on the synced type's thread that helps to handle
 | 
| -// communication between sync and model type threads.
 | 
| -class SYNC_EXPORT_PRIVATE ModelTypeProcessorImpl : public ModelTypeProcessor,
 | 
| -                                                   base::NonThreadSafe {
 | 
| - public:
 | 
| -  ModelTypeProcessorImpl(syncer::ModelType type,
 | 
| -                         base::WeakPtr<ModelTypeStore> store);
 | 
| -  ~ModelTypeProcessorImpl() override;
 | 
| -
 | 
| -  typedef base::Callback<void(
 | 
| -      /*syncer::SyncError,*/ scoped_ptr<ActivationContext>)> StartCallback;
 | 
| -
 | 
| -  // Called by DataTypeController to begins asynchronous operation of preparing
 | 
| -  // the model to sync. Once the model is ready to be activated with Sync the
 | 
| -  // callback will be invoked with the activation context. If the model is
 | 
| -  // already ready it is safe to call the callback right away. Otherwise the
 | 
| -  // callback needs to be stored and called when the model is ready.
 | 
| -  void Start(StartCallback callback);
 | 
| -
 | 
| -  // Called by DataTypeController to inform the model that the sync is
 | 
| -  // stopping for the model type.
 | 
| -  void Stop();
 | 
| -
 | 
| -  // Returns true if the datatype is enabled.
 | 
| -  // TODO(stanisc): crbug.com/537027: There is no explicit call to indicate
 | 
| -  // that the datatype is enabled. The flag is set to true when Start is called
 | 
| -  // and reset to false when Disable is called.
 | 
| -  bool IsEnabled() const;
 | 
| -
 | 
| -  // TODO(stanisc): crbug.com/537027: This needs to be called from
 | 
| -  // DataTypeController when the type is disabled
 | 
| -  // Severs all ties to the sync thread and may delete local sync state.
 | 
| -  // Another call to Enable() can be used to re-establish this connection.
 | 
| -  void Disable();
 | 
| -
 | 
| -  // Callback used to process the handshake response from the sync thread.
 | 
| -  void OnConnect(scoped_ptr<CommitQueue> worker) override;
 | 
| -
 | 
| -  // Returns true if the handshake with sync thread is complete.
 | 
| -  bool IsConnected() const;
 | 
| -
 | 
| -  // Requests that an item be stored in sync.
 | 
| -  void Put(const std::string& client_tag,
 | 
| -           const sync_pb::EntitySpecifics& specifics);
 | 
| -
 | 
| -  // Deletes an item from sync.
 | 
| -  void Delete(const std::string& client_tag);
 | 
| -
 | 
| -  // Informs this object that some of its commit requests have been
 | 
| -  // successfully serviced.
 | 
| -  void OnCommitCompleted(const DataTypeState& type_state,
 | 
| -                         const CommitResponseDataList& response_list) override;
 | 
| -
 | 
| -  // Informs this object that there are some incoming updates is should
 | 
| -  // handle.
 | 
| -  void OnUpdateReceived(const DataTypeState& type_state,
 | 
| -                        const UpdateResponseDataList& response_list,
 | 
| -                        const UpdateResponseDataList& pending_updates) override;
 | 
| -
 | 
| -  // Returns the list of pending updates.
 | 
| -  //
 | 
| -  // This is used as a helper function, but it's public mainly for testing.
 | 
| -  // The current test harness setup doesn't allow us to test the data that the
 | 
| -  // proxy sends to the worker during initialization, so we use this to inspect
 | 
| -  // its state instead.
 | 
| -  UpdateResponseDataList GetPendingUpdates();
 | 
| -
 | 
| -  // Returns the long-lived WeakPtr that is intended to be registered with the
 | 
| -  // ProfileSyncService.
 | 
| -  base::WeakPtr<ModelTypeProcessorImpl> AsWeakPtrForUI();
 | 
| -
 | 
| - private:
 | 
| -  typedef base::ScopedPtrMap<std::string, scoped_ptr<ModelTypeEntity>>
 | 
| -      EntityMap;
 | 
| -  typedef base::ScopedPtrMap<std::string, scoped_ptr<UpdateResponseData>>
 | 
| -      UpdateMap;
 | 
| -
 | 
| -  // Sends all commit requests that are due to be sent to the sync thread.
 | 
| -  void FlushPendingCommitRequests();
 | 
| -
 | 
| -  // Clears any state related to outstanding communications with the
 | 
| -  // CommitQueue.  Used when we want to disconnect from
 | 
| -  // the current worker.
 | 
| -  void ClearTransientSyncState();
 | 
| -
 | 
| -  // Clears any state related to our communications with the current sync
 | 
| -  // account.  Useful when a user signs out of the current account.
 | 
| -  void ClearSyncState();
 | 
| -
 | 
| -  syncer::ModelType type_;
 | 
| -  DataTypeState data_type_state_;
 | 
| -
 | 
| -  // Whether or not sync is enabled by this type's DataTypeController.
 | 
| -  bool is_enabled_;
 | 
| -
 | 
| -  // Whether or not this object has completed its initial handshake with the
 | 
| -  // SyncContextProxy.
 | 
| -  bool is_connected_;
 | 
| -
 | 
| -  // Reference to the CommitQueue.
 | 
| -  //
 | 
| -  // The interface hides the posting of tasks across threads as well as the
 | 
| -  // CommitQueue's implementation.  Both of these features are
 | 
| -  // useful in tests.
 | 
| -  scoped_ptr<CommitQueue> worker_;
 | 
| -
 | 
| -  // The set of sync entities known to this object.
 | 
| -  EntityMap entities_;
 | 
| -
 | 
| -  // A set of updates that can not be applied at this time.  These are never
 | 
| -  // used by the model.  They are kept here only so we can save and restore
 | 
| -  // them across restarts, and keep them in sync with our progress markers.
 | 
| -  UpdateMap pending_updates_map_;
 | 
| -
 | 
| -  // Store is supplied by model type implementation. ModelTypeProcessorImpl
 | 
| -  // uses store for persisting sync related data (entity state and data type
 | 
| -  // state).
 | 
| -  base::WeakPtr<ModelTypeStore> store_;
 | 
| -
 | 
| -  // We use two different WeakPtrFactories because we want the pointers they
 | 
| -  // issue to have different lifetimes.  When asked to disconnect from the sync
 | 
| -  // thread, we want to make sure that no tasks generated as part of the
 | 
| -  // now-obsolete connection to affect us.  But we also want the WeakPtr we
 | 
| -  // sent to the UI thread to remain valid.
 | 
| -  base::WeakPtrFactory<ModelTypeProcessorImpl> weak_ptr_factory_for_ui_;
 | 
| -  base::WeakPtrFactory<ModelTypeProcessorImpl> weak_ptr_factory_for_sync_;
 | 
| -};
 | 
| -
 | 
| -}  // namespace syncer
 | 
| -
 | 
| -#endif  // SYNC_ENGINE_MODEL_TYPE_SYNC_PROXY_IMPL_H_
 | 
| 
 |