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

Side by Side Diff: chrome/browser/chromeos/drive/change_list_loader.h

Issue 12588009: drive: Pass through AboutResouce from server among callbacks in ChangeListLoader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 | « no previous file | chrome/browser/chromeos/drive/change_list_loader.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_
6 #define CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_ 6 #define CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 // See the comment at Load() for |directory_fetch_info| parameter. 102 // See the comment at Load() for |directory_fetch_info| parameter.
103 // |callback| must not be null. 103 // |callback| must not be null.
104 // TODO(satorux): make this private. crbug.com/193417 104 // TODO(satorux): make this private. crbug.com/193417
105 void LoadFromServerIfNeeded(const DirectoryFetchInfo& directory_fetch_info, 105 void LoadFromServerIfNeeded(const DirectoryFetchInfo& directory_fetch_info,
106 const FileOperationCallback& callback); 106 const FileOperationCallback& callback);
107 107
108 // Updates whole directory structure feeds collected in |feed_list|. 108 // Updates whole directory structure feeds collected in |feed_list|.
109 // Record file statistics as UMA histograms. 109 // Record file statistics as UMA histograms.
110 // 110 //
111 // See comments at ChangeListProcessor::ApplyFeeds() for 111 // See comments at ChangeListProcessor::ApplyFeeds() for
112 // |is_delta_feed| and |root_feed_changestamp|. 112 // |about_resource| and |is_delta_feed|.
113 // |update_finished_callback| must not be null. 113 // |update_finished_callback| must not be null.
114 void UpdateFromFeed(const ScopedVector<google_apis::ResourceList>& feed_list, 114 void UpdateFromFeed(
115 bool is_delta_feed, 115 scoped_ptr<google_apis::AboutResource> about_resource,
116 int64 root_feed_changestamp, 116 const ScopedVector<google_apis::ResourceList>& feed_list,
117 const base::Closure& update_finished_callback); 117 bool is_delta_feed,
118 const base::Closure& update_finished_callback);
118 119
119 // Indicates whether there is a feed refreshing server request is in flight. 120 // Indicates whether there is a feed refreshing server request is in flight.
120 bool refreshing() const { return refreshing_; } 121 bool refreshing() const { return refreshing_; }
121 122
122 private: 123 private:
123 struct GetResourceListUiState; 124 struct GetResourceListUiState;
124 struct LoadFeedParams; 125 struct LoadFeedParams;
125 126
126 // Starts the change list loading from the cache, and runs |callback| to 127 // Starts the change list loading from the cache, and runs |callback| to
127 // tell the result to the caller. |callback| must not be null. 128 // tell the result to the caller. |callback| must not be null.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 // Part of LoadFromServerIfNeeded(). Called when 182 // Part of LoadFromServerIfNeeded(). Called when
182 // DriveScheduler::GetAboutResource() is complete. This method calls 183 // DriveScheduler::GetAboutResource() is complete. This method calls
183 // CompareChangestampsAndLoadIfNeeded() to make a decision about whether or 184 // CompareChangestampsAndLoadIfNeeded() to make a decision about whether or
184 // not to fetch the change list. 185 // not to fetch the change list.
185 void LoadFromServerIfNeededAfterGetAbout( 186 void LoadFromServerIfNeededAfterGetAbout(
186 const DirectoryFetchInfo& directory_fetch_info, 187 const DirectoryFetchInfo& directory_fetch_info,
187 const FileOperationCallback& callback, 188 const FileOperationCallback& callback,
188 google_apis::GDataErrorCode status, 189 google_apis::GDataErrorCode status,
189 scoped_ptr<google_apis::AboutResource> about_resource); 190 scoped_ptr<google_apis::AboutResource> about_resource);
190 191
191 // Compares |remote_changestamp| and |local_changestamp| and triggers 192 // Compares the largetst_change_id in |about_resource| and |local_changestamp|
192 // LoadFromServer if necessary. 193 // and triggers LoadFromServer if necessary.
193 void CompareChangestampsAndLoadIfNeeded( 194 void CompareChangestampsAndLoadIfNeeded(
194 const DirectoryFetchInfo& directory_fetch_info, 195 const DirectoryFetchInfo& directory_fetch_info,
195 const FileOperationCallback& callback, 196 const FileOperationCallback& callback,
196 int64 remote_changestamp, 197 scoped_ptr<google_apis::AboutResource> about_resource,
197 int64 local_changestamp); 198 int64 local_changestamp);
198 199
199 // Starts loading the change list since |start_changestamp|, or the full 200 // Starts loading the change list since |start_changestamp|, or the full
200 // resource list if |start_changestamp| is zero. |remote_changestamp| will 201 // resource list if |start_changestamp| is zero. For full update, the
201 // be stored in DriveResourceMetadata, once loading is done. 202 // largest_change_id and root_folder_id from |about_resource| will be used.
202 // callback must not be null. 203 // |callback| must not be null.
203 void LoadChangeListFromServer( 204 void LoadChangeListFromServer(
205 scoped_ptr<google_apis::AboutResource> about_resource,
204 int64 start_changestamp, 206 int64 start_changestamp,
205 int64 remote_changestamp,
206 const FileOperationCallback& callback); 207 const FileOperationCallback& callback);
207 208
208 // Starts loading the change list from the server. Called after the 209 // Starts loading the change list from the server. Called after the
209 // directory contents are "fast-fetch"ed. 210 // directory contents are "fast-fetch"ed.
210 void StartLoadChangeListFromServer( 211 void StartLoadChangeListFromServer(
211 const DirectoryFetchInfo& directory_fetch_info, 212 const DirectoryFetchInfo& directory_fetch_info,
213 scoped_ptr<google_apis::AboutResource> about_resource,
212 int64 start_changestamp, 214 int64 start_changestamp,
213 int64 remote_changestamp,
214 const FileOperationCallback& callback, 215 const FileOperationCallback& callback,
215 DriveFileError error); 216 DriveFileError error);
216 217
217 // Callback for handling response from |DriveAPIService::GetAppList|. 218 // Callback for handling response from |DriveAPIService::GetAppList|.
218 // If the application list is successfully parsed, passes the list to 219 // If the application list is successfully parsed, passes the list to
219 // Drive webapps registry. 220 // Drive webapps registry.
220 void OnGetAppList(google_apis::GDataErrorCode status, 221 void OnGetAppList(google_apis::GDataErrorCode status,
221 scoped_ptr<google_apis::AppList> app_list); 222 scoped_ptr<google_apis::AppList> app_list);
222 223
223 // Callback for handling feed content fetching while searching for file info. 224 // Callback for handling feed content fetching while searching for file info.
224 // This callback is invoked after async feed fetch operation that was 225 // This callback is invoked after async feed fetch operation that was
225 // invoked by StartDirectoryRefresh() completes. This callback will update 226 // invoked by StartDirectoryRefresh() completes. This callback will update
226 // the content of the refreshed directory object and continue initially 227 // the content of the refreshed directory object and continue initially
227 // started FindEntryByPath() request. 228 // started FindEntryByPath() request.
228 void UpdateMetadataFromFeedAfterLoadFromServer( 229 void UpdateMetadataFromFeedAfterLoadFromServer(
230 scoped_ptr<google_apis::AboutResource> about_resource,
229 bool is_delta_feed, 231 bool is_delta_feed,
230 int64 feed_changestamp,
231 const FileOperationCallback& callback, 232 const FileOperationCallback& callback,
232 const ScopedVector<google_apis::ResourceList>& feed_list, 233 const ScopedVector<google_apis::ResourceList>& feed_list,
233 DriveFileError error); 234 DriveFileError error);
234 235
235 // Save filesystem to disk. 236 // Save filesystem to disk.
236 void SaveFileSystem(); 237 void SaveFileSystem();
237 238
238 // Callback for handling UI updates caused by feed fetching. 239 // Callback for handling UI updates caused by feed fetching.
239 void OnNotifyResourceListFetched( 240 void OnNotifyResourceListFetched(
240 base::WeakPtr<GetResourceListUiState> ui_state); 241 base::WeakPtr<GetResourceListUiState> ui_state);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 295
295 // Note: This should remain the last member so it'll be destroyed and 296 // Note: This should remain the last member so it'll be destroyed and
296 // invalidate its weak pointers before any other members are destroyed. 297 // invalidate its weak pointers before any other members are destroyed.
297 base::WeakPtrFactory<ChangeListLoader> weak_ptr_factory_; 298 base::WeakPtrFactory<ChangeListLoader> weak_ptr_factory_;
298 DISALLOW_COPY_AND_ASSIGN(ChangeListLoader); 299 DISALLOW_COPY_AND_ASSIGN(ChangeListLoader);
299 }; 300 };
300 301
301 } // namespace drive 302 } // namespace drive
302 303
303 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_ 304 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/change_list_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698