OLD | NEW |
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 <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 14 matching lines...) Expand all Loading... |
25 class SequencedTaskRunner; | 25 class SequencedTaskRunner; |
26 } // namespace base | 26 } // namespace base |
27 | 27 |
28 namespace google_apis { | 28 namespace google_apis { |
29 class AboutResource; | 29 class AboutResource; |
30 class ResourceList; | 30 class ResourceList; |
31 } // namespace google_apis | 31 } // namespace google_apis |
32 | 32 |
33 namespace drive { | 33 namespace drive { |
34 | 34 |
| 35 class DriveServiceInterface; |
35 class JobScheduler; | 36 class JobScheduler; |
36 class ResourceEntry; | 37 class ResourceEntry; |
37 | 38 |
38 namespace internal { | 39 namespace internal { |
39 | 40 |
40 class ChangeList; | 41 class ChangeList; |
41 class ChangeListLoaderObserver; | 42 class ChangeListLoaderObserver; |
42 class ChangeListProcessor; | 43 class ChangeListProcessor; |
43 class DirectoryFetchInfo; | 44 class DirectoryFetchInfo; |
44 class ResourceMetadata; | 45 class ResourceMetadata; |
(...skipping 12 matching lines...) Expand all Loading... |
57 // "resource list" refers to metadata from the server when fetching the full | 58 // "resource list" refers to metadata from the server when fetching the full |
58 // resource metadata, or fetching directory contents, whereas "change list" | 59 // resource metadata, or fetching directory contents, whereas "change list" |
59 // refers to metadata from the server when fetching changes (delta). | 60 // refers to metadata from the server when fetching changes (delta). |
60 class ChangeListLoader { | 61 class ChangeListLoader { |
61 public: | 62 public: |
62 // Resource feed fetcher from the server. | 63 // Resource feed fetcher from the server. |
63 class FeedFetcher; | 64 class FeedFetcher; |
64 | 65 |
65 ChangeListLoader(base::SequencedTaskRunner* blocking_task_runner, | 66 ChangeListLoader(base::SequencedTaskRunner* blocking_task_runner, |
66 ResourceMetadata* resource_metadata, | 67 ResourceMetadata* resource_metadata, |
67 JobScheduler* scheduler); | 68 JobScheduler* scheduler, |
| 69 DriveServiceInterface* drive_service); |
68 ~ChangeListLoader(); | 70 ~ChangeListLoader(); |
69 | 71 |
70 // Indicates whether there is a request for full resource list or change | 72 // Indicates whether there is a request for full resource list or change |
71 // list fetching is in flight (i.e. directory contents fetching does not | 73 // list fetching is in flight (i.e. directory contents fetching does not |
72 // count). | 74 // count). |
73 bool IsRefreshing() const; | 75 bool IsRefreshing() const; |
74 | 76 |
75 // Adds and removes the observer. | 77 // Adds and removes the observer. |
76 void AddObserver(ChangeListLoaderObserver* observer); | 78 void AddObserver(ChangeListLoaderObserver* observer); |
77 void RemoveObserver(ChangeListLoaderObserver* observer); | 79 void RemoveObserver(ChangeListLoaderObserver* observer); |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 // Notifies directory changes per the result of the change list processing. | 260 // Notifies directory changes per the result of the change list processing. |
259 void UpdateFromChangeListAfterApply( | 261 void UpdateFromChangeListAfterApply( |
260 ChangeListProcessor* change_list_processor, | 262 ChangeListProcessor* change_list_processor, |
261 bool should_notify, | 263 bool should_notify, |
262 base::Time start_time, | 264 base::Time start_time, |
263 const base::Closure& callback); | 265 const base::Closure& callback); |
264 | 266 |
265 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; | 267 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
266 ResourceMetadata* resource_metadata_; // Not owned. | 268 ResourceMetadata* resource_metadata_; // Not owned. |
267 JobScheduler* scheduler_; // Not owned. | 269 JobScheduler* scheduler_; // Not owned. |
| 270 DriveServiceInterface* drive_service_; // Not owned. |
268 ObserverList<ChangeListLoaderObserver> observers_; | 271 ObserverList<ChangeListLoaderObserver> observers_; |
269 typedef std::map<std::string, std::vector<FileOperationCallback> > | 272 typedef std::map<std::string, std::vector<FileOperationCallback> > |
270 LoadCallbackMap; | 273 LoadCallbackMap; |
271 LoadCallbackMap pending_load_callback_; | 274 LoadCallbackMap pending_load_callback_; |
272 FileOperationCallback pending_update_check_callback_; | 275 FileOperationCallback pending_update_check_callback_; |
273 | 276 |
274 // Running feed fetcher. | 277 // Running feed fetcher. |
275 scoped_ptr<FeedFetcher> change_feed_fetcher_; | 278 scoped_ptr<FeedFetcher> change_feed_fetcher_; |
276 | 279 |
277 // Set of the running feed fetcher for the fast fetch. | 280 // Set of the running feed fetcher for the fast fetch. |
(...skipping 13 matching lines...) Expand all Loading... |
291 // Note: This should remain the last member so it'll be destroyed and | 294 // Note: This should remain the last member so it'll be destroyed and |
292 // invalidate its weak pointers before any other members are destroyed. | 295 // invalidate its weak pointers before any other members are destroyed. |
293 base::WeakPtrFactory<ChangeListLoader> weak_ptr_factory_; | 296 base::WeakPtrFactory<ChangeListLoader> weak_ptr_factory_; |
294 DISALLOW_COPY_AND_ASSIGN(ChangeListLoader); | 297 DISALLOW_COPY_AND_ASSIGN(ChangeListLoader); |
295 }; | 298 }; |
296 | 299 |
297 } // namespace internal | 300 } // namespace internal |
298 } // namespace drive | 301 } // namespace drive |
299 | 302 |
300 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_ | 303 #endif // CHROME_BROWSER_CHROMEOS_DRIVE_CHANGE_LIST_LOADER_H_ |
OLD | NEW |