| OLD | NEW | 
|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 // SyncSessionContext encapsulates the contextual information and engine | 5 // SyncSessionContext encapsulates the contextual information and engine | 
| 6 // components specific to a SyncSession. A context is accessible via | 6 // components specific to a SyncSession. A context is accessible via | 
| 7 // a SyncSession so that session SyncerCommands and parts of the engine have | 7 // a SyncSession so that session SyncerCommands and parts of the engine have | 
| 8 // a convenient way to access other parts. In this way it can be thought of as | 8 // a convenient way to access other parts. In this way it can be thought of as | 
| 9 // the surrounding environment for the SyncSession. The components of this | 9 // the surrounding environment for the SyncSession. The components of this | 
| 10 // environment are either valid or not valid for the entire context lifetime, | 10 // environment are either valid or not valid for the entire context lifetime, | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 48 class SYNC_EXPORT_PRIVATE SyncSessionContext { | 48 class SYNC_EXPORT_PRIVATE SyncSessionContext { | 
| 49  public: | 49  public: | 
| 50   SyncSessionContext(ServerConnectionManager* connection_manager, | 50   SyncSessionContext(ServerConnectionManager* connection_manager, | 
| 51                      syncable::Directory* directory, | 51                      syncable::Directory* directory, | 
| 52                      const std::vector<ModelSafeWorker*>& workers, | 52                      const std::vector<ModelSafeWorker*>& workers, | 
| 53                      ExtensionsActivityMonitor* extensions_activity_monitor, | 53                      ExtensionsActivityMonitor* extensions_activity_monitor, | 
| 54                      const std::vector<SyncEngineEventListener*>& listeners, | 54                      const std::vector<SyncEngineEventListener*>& listeners, | 
| 55                      DebugInfoGetter* debug_info_getter, | 55                      DebugInfoGetter* debug_info_getter, | 
| 56                      TrafficRecorder* traffic_recorder, | 56                      TrafficRecorder* traffic_recorder, | 
| 57                      bool keystore_encryption_enabled, | 57                      bool keystore_encryption_enabled, | 
|  | 58                      bool client_enabled_pre_commit_update_avoidance, | 
| 58                      const std::string& invalidator_client_id); | 59                      const std::string& invalidator_client_id); | 
| 59 | 60 | 
| 60   ~SyncSessionContext(); | 61   ~SyncSessionContext(); | 
| 61 | 62 | 
| 62   ServerConnectionManager* connection_manager() { | 63   ServerConnectionManager* connection_manager() { | 
| 63     return connection_manager_; | 64     return connection_manager_; | 
| 64   } | 65   } | 
| 65   syncable::Directory* directory() { | 66   syncable::Directory* directory() { | 
| 66     return directory_; | 67     return directory_; | 
| 67   } | 68   } | 
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 122   } | 123   } | 
| 123 | 124 | 
| 124   const sync_pb::ClientStatus& client_status() const { | 125   const sync_pb::ClientStatus& client_status() const { | 
| 125     return client_status_; | 126     return client_status_; | 
| 126   } | 127   } | 
| 127 | 128 | 
| 128   const std::string& invalidator_client_id() const { | 129   const std::string& invalidator_client_id() const { | 
| 129     return invalidator_client_id_; | 130     return invalidator_client_id_; | 
| 130   } | 131   } | 
| 131 | 132 | 
|  | 133   bool ShouldFetchUpdatesBeforeCommit() const { | 
|  | 134     return !(server_enabled_pre_commit_update_avoidance_ || | 
|  | 135              client_enabled_pre_commit_update_avoidance_); | 
|  | 136   } | 
|  | 137 | 
|  | 138   void set_server_enabled_pre_commit_update_avoidance(bool value) { | 
|  | 139     server_enabled_pre_commit_update_avoidance_ = value; | 
|  | 140   } | 
|  | 141 | 
| 132  private: | 142  private: | 
| 133   // Rather than force clients to set and null-out various context members, we | 143   // Rather than force clients to set and null-out various context members, we | 
| 134   // extend our encapsulation boundary to scoped helpers that take care of this | 144   // extend our encapsulation boundary to scoped helpers that take care of this | 
| 135   // once they are allocated. See definitions of these below. | 145   // once they are allocated. See definitions of these below. | 
| 136   friend class TestScopedSessionEventListener; | 146   friend class TestScopedSessionEventListener; | 
| 137 | 147 | 
| 138   ObserverList<SyncEngineEventListener> listeners_; | 148   ObserverList<SyncEngineEventListener> listeners_; | 
| 139 | 149 | 
| 140   ServerConnectionManager* const connection_manager_; | 150   ServerConnectionManager* const connection_manager_; | 
| 141   syncable::Directory* const directory_; | 151   syncable::Directory* const directory_; | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 174   // we should attempt performing keystore encryption related work, false if | 184   // we should attempt performing keystore encryption related work, false if | 
| 175   // the experiment is not enabled. | 185   // the experiment is not enabled. | 
| 176   bool keystore_encryption_enabled_; | 186   bool keystore_encryption_enabled_; | 
| 177 | 187 | 
| 178   // This is a copy of the identifier the that the invalidations client used to | 188   // This is a copy of the identifier the that the invalidations client used to | 
| 179   // register itself with the invalidations server during startup.  We need to | 189   // register itself with the invalidations server during startup.  We need to | 
| 180   // provide this to the sync server when we make changes to enable it to | 190   // provide this to the sync server when we make changes to enable it to | 
| 181   // prevent us from receiving notifications of changes we make ourselves. | 191   // prevent us from receiving notifications of changes we make ourselves. | 
| 182   const std::string invalidator_client_id_; | 192   const std::string invalidator_client_id_; | 
| 183 | 193 | 
|  | 194   // Flag to enable or disable the no pre-commit GetUpdates experiment.  When | 
|  | 195   // this flag is set to false, the syncer has the option of not performing at | 
|  | 196   // GetUpdates request when there is nothing to fetch. | 
|  | 197   bool server_enabled_pre_commit_update_avoidance_; | 
|  | 198 | 
|  | 199   // If true, indicates that we've been passed a command-line flag to force | 
|  | 200   // enable the pre-commit update avoidance experiment described above. | 
|  | 201   const bool client_enabled_pre_commit_update_avoidance_; | 
|  | 202 | 
| 184   DISALLOW_COPY_AND_ASSIGN(SyncSessionContext); | 203   DISALLOW_COPY_AND_ASSIGN(SyncSessionContext); | 
| 185 }; | 204 }; | 
| 186 | 205 | 
| 187 }  // namespace sessions | 206 }  // namespace sessions | 
| 188 }  // namespace syncer | 207 }  // namespace syncer | 
| 189 | 208 | 
| 190 #endif  // SYNC_SESSIONS_SYNC_SESSION_CONTEXT_H_ | 209 #endif  // SYNC_SESSIONS_SYNC_SESSION_CONTEXT_H_ | 
| OLD | NEW | 
|---|