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

Side by Side Diff: sync/sessions/sync_session.h

Issue 19982002: sync: Remove SyncSourceInfo (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Convert SyncShareRecords to typedef Created 7 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
« no previous file with comments | « sync/sessions/status_controller.h ('k') | sync/sessions/sync_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // A class representing an attempt to synchronize the local syncable data 5 // A class representing an attempt to synchronize the local syncable data
6 // store with a sync server. A SyncSession instance is passed as a stateful 6 // store with a sync server. A SyncSession instance is passed as a stateful
7 // bundle to and from various SyncerCommands with the goal of converging the 7 // bundle to and from various SyncerCommands with the goal of converging the
8 // client view of data with that of the server. The commands twiddle with 8 // client view of data with that of the server. The commands twiddle with
9 // session status in response to events and hiccups along the way, set and 9 // session status in response to events and hiccups along the way, set and
10 // query session progress with regards to conflict resolution and applying 10 // query session progress with regards to conflict resolution and applying
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // will buffer locally. 97 // will buffer locally.
98 virtual void OnReceivedClientInvalidationHintBufferSize(int size) = 0; 98 virtual void OnReceivedClientInvalidationHintBufferSize(int size) = 0;
99 99
100 protected: 100 protected:
101 virtual ~Delegate() {} 101 virtual ~Delegate() {}
102 }; 102 };
103 103
104 // Build a session without a nudge tracker. Used for poll or configure type 104 // Build a session without a nudge tracker. Used for poll or configure type
105 // sync cycles. 105 // sync cycles.
106 static SyncSession* Build(SyncSessionContext* context, 106 static SyncSession* Build(SyncSessionContext* context,
107 Delegate* delegate, 107 Delegate* delegate);
108 const SyncSourceInfo& source);
109 ~SyncSession(); 108 ~SyncSession();
110 109
111 // Builds a thread-safe and read-only copy of the current session state. 110 // Builds a thread-safe and read-only copy of the current session state.
112 SyncSessionSnapshot TakeSnapshot() const; 111 SyncSessionSnapshot TakeSnapshot() const;
112 SyncSessionSnapshot TakeSnapshotWithSource(
113 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource legacy_updates_source)
114 const;
113 115
114 // Builds and sends a snapshot to the session context's listeners. 116 // Builds and sends a snapshot to the session context's listeners.
117 void SendSyncCycleEndEventNotification(
118 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source);
115 void SendEventNotification(SyncEngineEvent::EventCause cause); 119 void SendEventNotification(SyncEngineEvent::EventCause cause);
116 120
117 // TODO(akalin): Split this into context() and mutable_context(). 121 // TODO(akalin): Split this into context() and mutable_context().
118 SyncSessionContext* context() const { return context_; } 122 SyncSessionContext* context() const { return context_; }
119 Delegate* delegate() const { return delegate_; } 123 Delegate* delegate() const { return delegate_; }
120 const StatusController& status_controller() const { 124 const StatusController& status_controller() const {
121 return *status_controller_.get(); 125 return *status_controller_.get();
122 } 126 }
123 StatusController* mutable_status_controller() { 127 StatusController* mutable_status_controller() {
124 return status_controller_.get(); 128 return status_controller_.get();
125 } 129 }
126 130
127 const SyncSourceInfo& source() const { return source_; }
128
129 private: 131 private:
130 SyncSession(SyncSessionContext* context, 132 SyncSession(SyncSessionContext* context, Delegate* delegate);
131 Delegate* delegate,
132 const SyncSourceInfo& source);
133 133
134 // The context for this session, guaranteed to outlive |this|. 134 // The context for this session, guaranteed to outlive |this|.
135 SyncSessionContext* const context_; 135 SyncSessionContext* const context_;
136 136
137 // The source for initiating this sync session.
138 SyncSourceInfo source_;
139
140 // The delegate for this session, must never be NULL. 137 // The delegate for this session, must never be NULL.
141 Delegate* const delegate_; 138 Delegate* const delegate_;
142 139
143 // Our controller for various status and error counters. 140 // Our controller for various status and error counters.
144 scoped_ptr<StatusController> status_controller_; 141 scoped_ptr<StatusController> status_controller_;
145 142
146 DISALLOW_COPY_AND_ASSIGN(SyncSession); 143 DISALLOW_COPY_AND_ASSIGN(SyncSession);
147 }; 144 };
148 145
149 } // namespace sessions 146 } // namespace sessions
150 } // namespace syncer 147 } // namespace syncer
151 148
152 #endif // SYNC_SESSIONS_SYNC_SESSION_H_ 149 #endif // SYNC_SESSIONS_SYNC_SESSION_H_
OLDNEW
« no previous file with comments | « sync/sessions/status_controller.h ('k') | sync/sessions/sync_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698