diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-27 17:13:43 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-27 17:13:43 +0000 |
commit | bd7c4fda2b543725ec3ab29952d64674d86d6b27 (patch) | |
tree | 2707e3dfc1c1e04fbf6b07e87053a2bac48cafec /sync/internal_api/sync_manager_impl.h | |
parent | 6c8715d3e19279d7b28be72c703d1af8fbfef80c (diff) | |
download | chromium_src-bd7c4fda2b543725ec3ab29952d64674d86d6b27.zip chromium_src-bd7c4fda2b543725ec3ab29952d64674d86d6b27.tar.gz chromium_src-bd7c4fda2b543725ec3ab29952d64674d86d6b27.tar.bz2 |
sync: Add NonBlockingTypeProcesssor and SyncCore
Introduces the model-thread sibling of the NonBlockingTypeProcessorCore
that was added in r258390. Also adds SyncCore and SyncCoreProxy, the
classes that will be used to connect the two.
The SyncCore lives on the sync thread and carries out requests sent to
it by the SyncCoreProxy. The SyncCoreProxy is a thread-safe wrapper
around the SyncCore that can be easily copied and whose methods can be
called from any thread.
The NonBlockingTypeProcessor is instantiated on the same thread as the
data to be synced. It connects to a NonBlockingTypeProcessorCore on the
sync thread by sending a request through a SyncCoreProxy. Keeping data
in sync will be a collaborative effort involving both the
NonBlockingTypeProcessor and NonBlockingTypeProcesssorCore, though none
of this functionality has been implemented yet.
As of this CL, none these classes are instantiated outside of tests.
This CL should have no effect on current sync behavior.
BUG=351005
Review URL: https://codereview.chromium.org/208893004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259921 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/sync_manager_impl.h')
-rw-r--r-- | sync/internal_api/sync_manager_impl.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sync/internal_api/sync_manager_impl.h b/sync/internal_api/sync_manager_impl.h index 7189026..5cb3908 100644 --- a/sync/internal_api/sync_manager_impl.h +++ b/sync/internal_api/sync_manager_impl.h @@ -110,6 +110,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : virtual void SaveChanges() OVERRIDE; virtual void ShutdownOnSyncThread() OVERRIDE; virtual UserShare* GetUserShare() OVERRIDE; + virtual syncer::SyncCore* GetSyncCore() OVERRIDE; virtual const std::string cache_guid() OVERRIDE; virtual bool ReceivedExperiment(Experiments* experiments) OVERRIDE; virtual bool HasUnsyncedItems() OVERRIDE; @@ -311,6 +312,9 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl : // This state changes when entering or exiting a configuration cycle. scoped_ptr<ModelTypeRegistry> model_type_registry_; + // The main interface for non-blocking sync types. + scoped_ptr<SyncCore> sync_core_; + // A container of various bits of information used by the SyncScheduler to // create SyncSessions. Must outlive the SyncScheduler. scoped_ptr<sessions::SyncSessionContext> session_context_; |