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

Side by Side Diff: sync/test/engine/injectable_sync_context_proxy.h

Issue 442053002: sync: Add non-blocking type encryption (retry) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 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_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_ 5 #ifndef SYNC_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_
6 #define SYNC_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_ 6 #define SYNC_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_
7 7
8 #include "sync/internal_api/public/base/model_type.h" 8 #include "sync/internal_api/public/base/model_type.h"
9 #include "sync/internal_api/public/non_blocking_sync_common.h"
9 #include "sync/internal_api/public/sync_context_proxy.h" 10 #include "sync/internal_api/public/sync_context_proxy.h"
10 11
11 namespace syncer { 12 namespace syncer {
12 13
13 struct DataTypeState; 14 struct DataTypeState;
14 class ModelTypeSyncProxyImpl; 15 class ModelTypeSyncProxyImpl;
15 class ModelTypeSyncWorker; 16 class ModelTypeSyncWorker;
16 17
17 // A SyncContextProxy implementation that, when a connection request is made, 18 // A SyncContextProxy implementation that, when a connection request is made,
18 // initalizes a connection to a previously injected ModelTypeSyncProxyImpl. 19 // initalizes a connection to a previously injected ModelTypeSyncProxyImpl.
19 class InjectableSyncContextProxy : public syncer::SyncContextProxy { 20 class InjectableSyncContextProxy : public syncer::SyncContextProxy {
20 public: 21 public:
21 explicit InjectableSyncContextProxy(ModelTypeSyncWorker* worker); 22 explicit InjectableSyncContextProxy(ModelTypeSyncWorker* worker);
22 virtual ~InjectableSyncContextProxy(); 23 virtual ~InjectableSyncContextProxy();
23 24
24 virtual void ConnectTypeToSync( 25 virtual void ConnectTypeToSync(
25 syncer::ModelType type, 26 syncer::ModelType type,
26 const DataTypeState& data_type_state, 27 const DataTypeState& data_type_state,
28 const UpdateResponseDataList& pending_updates,
27 const base::WeakPtr<syncer::ModelTypeSyncProxyImpl>& type_sync_proxy) 29 const base::WeakPtr<syncer::ModelTypeSyncProxyImpl>& type_sync_proxy)
28 OVERRIDE; 30 OVERRIDE;
29 virtual void Disconnect(syncer::ModelType type) OVERRIDE; 31 virtual void Disconnect(syncer::ModelType type) OVERRIDE;
30 virtual scoped_ptr<SyncContextProxy> Clone() const OVERRIDE; 32 virtual scoped_ptr<SyncContextProxy> Clone() const OVERRIDE;
31 33
32 ModelTypeSyncWorker* GetWorker(); 34 ModelTypeSyncWorker* GetWorker();
33 35
34 private: 36 private:
35 // A flag to ensure ConnectTypeToSync is called at most once. 37 // A flag to ensure ConnectTypeToSync is called at most once.
36 bool is_worker_connected_; 38 bool is_worker_connected_;
37 39
38 // The ModelTypeSyncProxy's contract expects that it gets to own this object, 40 // The ModelTypeSyncProxy's contract expects that it gets to own this object,
39 // so we can retain only a non-owned pointer to it. 41 // so we can retain only a non-owned pointer to it.
40 // 42 //
41 // This is very unsafe, but we can get away with it since these tests are not 43 // This is very unsafe, but we can get away with it since these tests are not
42 // exercising the proxy <-> worker connection code. 44 // exercising the proxy <-> worker connection code.
43 ModelTypeSyncWorker* worker_; 45 ModelTypeSyncWorker* worker_;
44 }; 46 };
45 47
46 } // namespace syncer 48 } // namespace syncer
47 49
48 #endif // SYNC_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_ 50 #endif // SYNC_TEST_ENGINE_INJECTABLE_SYNC_CONTEXT_PROXY_H_
OLDNEW
« no previous file with comments | « sync/sessions/model_type_registry_unittest.cc ('k') | sync/test/engine/injectable_sync_context_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698