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

Side by Side Diff: sync/internal_api/public/sync_core_proxy.h

Issue 280983002: Implement sync in the NonBlockingTypeProcessor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add some comments Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_
6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_
7 7
8 #include "base/memory/weak_ptr.h" 8 #include "base/memory/weak_ptr.h"
9 #include "sync/internal_api/public/base/model_type.h" 9 #include "sync/internal_api/public/base/model_type.h"
10 10
11 namespace syncer { 11 namespace syncer {
12 12
13 class NonBlockingTypeProcessor; 13 class NonBlockingTypeProcessor;
14 struct DataTypeState;
14 15
15 // Interface for the datatype integration logic from non-sync threads. 16 // Interface for the datatype integration logic from non-sync threads.
16 // 17 //
17 // See SyncCoreProxyImpl for an actual implementation. 18 // See SyncCoreProxyImpl for an actual implementation.
18 class SYNC_EXPORT_PRIVATE SyncCoreProxy { 19 class SYNC_EXPORT_PRIVATE SyncCoreProxy {
19 public: 20 public:
20 SyncCoreProxy(); 21 SyncCoreProxy();
21 virtual ~SyncCoreProxy(); 22 virtual ~SyncCoreProxy();
22 23
23 // Attempts to connect a non-blocking type to the sync core. 24 // Attempts to connect a non-blocking type to the sync core.
24 // 25 //
25 // Must be called from the thread where the data type lives. 26 // Must be called from the thread where the data type lives.
26 virtual void ConnectTypeToCore( 27 virtual void ConnectTypeToCore(
27 syncer::ModelType type, 28 syncer::ModelType type,
29 const DataTypeState& data_type_state,
28 base::WeakPtr<NonBlockingTypeProcessor> type_processor) = 0; 30 base::WeakPtr<NonBlockingTypeProcessor> type_processor) = 0;
29 31
30 // Tells the syncer that we're no longer interested in syncing this type. 32 // Tells the syncer that we're no longer interested in syncing this type.
31 // 33 //
32 // Once this takes effect, the syncer can assume that it will no longer 34 // Once this takes effect, the syncer can assume that it will no longer
33 // receive commit requests for this type. It should also stop requesting 35 // receive commit requests for this type. It should also stop requesting
34 // and applying updates for this type, too. 36 // and applying updates for this type, too.
35 virtual void Disconnect(syncer::ModelType type) = 0; 37 virtual void Disconnect(syncer::ModelType type) = 0;
36 38
37 // Creates a clone of this SyncCoreProxy. 39 // Creates a clone of this SyncCoreProxy.
38 virtual scoped_ptr<SyncCoreProxy> Clone() const = 0; 40 virtual scoped_ptr<SyncCoreProxy> Clone() const = 0;
39 }; 41 };
40 42
41 } // namespace syncer 43 } // namespace syncer
42 44
43 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_ 45 #endif // SYNC_INTERNAL_API_PUBLIC_SYNC_CORE_PROXY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698