| 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_GDATA_GDATA_FILE_SYSTEM_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 6 #define CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 } // namespace base | 30 } // namespace base |
| 31 | 31 |
| 32 namespace gdata { | 32 namespace gdata { |
| 33 | 33 |
| 34 class DocumentsServiceInterface; | 34 class DocumentsServiceInterface; |
| 35 class DriveWebAppsRegistryInterface; | 35 class DriveWebAppsRegistryInterface; |
| 36 class GDataWapiFeedLoader; | 36 class GDataWapiFeedLoader; |
| 37 struct GetDocumentsParams; | 37 struct GetDocumentsParams; |
| 38 struct UploadFileInfo; | 38 struct UploadFileInfo; |
| 39 | 39 |
| 40 namespace { | |
| 41 struct LoadRootFeedParams; | |
| 42 } // namespace | |
| 43 | |
| 44 // Callback run as a response to LoadFromServer. | 40 // Callback run as a response to LoadFromServer. |
| 45 // | 41 // |
| 46 // TODO(satorux): Move this to a new file: crbug.com/138268 | 42 // TODO(satorux): Move this to a new file: crbug.com/138268 |
| 47 typedef base::Callback<void(GetDocumentsParams* params, | 43 typedef base::Callback<void(GetDocumentsParams* params, |
| 48 GDataFileError error)> | 44 GDataFileError error)> |
| 49 LoadDocumentFeedCallback; | 45 LoadDocumentFeedCallback; |
| 50 | 46 |
| 51 // GDataWapiFeedLoader is used to load feeds from WAPI (codename for | 47 // GDataWapiFeedLoader is used to load feeds from WAPI (codename for |
| 52 // Documents List API) and load the cached proto file. | 48 // Documents List API) and load the cached proto file. |
| 53 // | 49 // |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 // |start_changestamp| and |root_feed_changestamp|. | 131 // |start_changestamp| and |root_feed_changestamp|. |
| 136 GDataFileError UpdateFromFeed( | 132 GDataFileError UpdateFromFeed( |
| 137 const std::vector<DocumentFeed*>& feed_list, | 133 const std::vector<DocumentFeed*>& feed_list, |
| 138 int start_changestamp, | 134 int start_changestamp, |
| 139 int root_feed_changestamp); | 135 int root_feed_changestamp); |
| 140 | 136 |
| 141 private: | 137 private: |
| 142 // Callback for handling root directory refresh from the cache. | 138 // Callback for handling root directory refresh from the cache. |
| 143 void OnProtoLoaded(LoadRootFeedParams* params); | 139 void OnProtoLoaded(LoadRootFeedParams* params); |
| 144 | 140 |
| 141 // Continues handling root directory refresh after the directory service |
| 142 // is fully loaded. |
| 143 void ContinueWithInitializedDirectoryService(LoadRootFeedParams* params); |
| 144 |
| 145 // Helper callback for handling results of metadata retrieval initiated from | 145 // Helper callback for handling results of metadata retrieval initiated from |
| 146 // ReloadFeedFromServerIfNeeded(). This method makes a decision about fetching | 146 // ReloadFeedFromServerIfNeeded(). This method makes a decision about fetching |
| 147 // the content of the root feed during the root directory refresh process. | 147 // the content of the root feed during the root directory refresh process. |
| 148 void OnGetAccountMetadata( | 148 void OnGetAccountMetadata( |
| 149 ContentOrigin initial_origin, | 149 ContentOrigin initial_origin, |
| 150 int local_changestamp, | 150 int local_changestamp, |
| 151 const FilePath& search_file_path, | 151 const FilePath& search_file_path, |
| 152 const FindEntryCallback& callback, | 152 const FindEntryCallback& callback, |
| 153 GDataErrorCode status, | 153 GDataErrorCode status, |
| 154 scoped_ptr<base::Value> feed_data); | 154 scoped_ptr<base::Value> feed_data); |
| 155 | 155 |
| 156 // Callback for handling feed content fetching while searching for file info. | 156 // Callback for handling feed content fetching while searching for file info. |
| 157 // This callback is invoked after async feed fetch operation that was | 157 // This callback is invoked after async feed fetch operation that was |
| 158 // invoked by StartDirectoryRefresh() completes. This callback will update | 158 // invoked by StartDirectoryRefresh() completes. This callback will update |
| 159 // the content of the refreshed directory object and continue initially | 159 // the content of the refreshed directory object and continue initially |
| 160 // started FindEntryByPath() request. | 160 // started FindEntryByPath() request. |
| 161 void OnFeedFromServerLoaded(GetDocumentsParams* params, | 161 void OnFeedFromServerLoaded(GetDocumentsParams* params, |
| 162 GDataFileError error); | 162 GDataFileError error); |
| 163 | 163 |
| 164 // Callback for handling response from |GDataDocumentsService::GetDocuments|. | 164 // Callback for handling response from |GDataDocumentsService::GetDocuments|. |
| 165 // Invokes |callback| when done. | 165 // Invokes |callback| when done. |
| 166 void OnGetDocuments( | 166 void OnGetDocuments( |
| 167 ContentOrigin initial_origin, | 167 ContentOrigin initial_origin, |
| 168 const LoadDocumentFeedCallback& callback, | 168 const LoadDocumentFeedCallback& callback, |
| 169 GetDocumentsParams* params, | 169 GetDocumentsParams* params, |
| 170 base::TimeTicks start_time, | 170 base::TimeTicks start_time, |
| 171 GDataErrorCode status, | 171 GDataErrorCode status, |
| 172 scoped_ptr<base::Value> data); | 172 scoped_ptr<base::Value> data); |
| 173 | 173 |
| 174 // Save filesystem as proto file. | 174 // Save filesystem to disk. |
| 175 void SaveFileSystemAsProto(); | 175 void SaveFileSystem(); |
| 176 | 176 |
| 177 GDataDirectoryService* directory_service_; // Not owned. | 177 GDataDirectoryService* directory_service_; // Not owned. |
| 178 DocumentsServiceInterface* documents_service_; // Not owned. | 178 DocumentsServiceInterface* documents_service_; // Not owned. |
| 179 DriveWebAppsRegistryInterface* webapps_registry_; // Not owned. | 179 DriveWebAppsRegistryInterface* webapps_registry_; // Not owned. |
| 180 GDataCache* cache_; // Not owned. | 180 GDataCache* cache_; // Not owned. |
| 181 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; | 181 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
| 182 ObserverList<Observer> observers_; | 182 ObserverList<Observer> observers_; |
| 183 | 183 |
| 184 // Note: This should remain the last member so it'll be destroyed and | 184 // Note: This should remain the last member so it'll be destroyed and |
| 185 // invalidate its weak pointers before any other members are destroyed. | 185 // invalidate its weak pointers before any other members are destroyed. |
| (...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 963 // invalidate the weak pointers before any other members are destroyed. | 963 // invalidate the weak pointers before any other members are destroyed. |
| 964 base::WeakPtrFactory<GDataFileSystem> ui_weak_ptr_factory_; | 964 base::WeakPtrFactory<GDataFileSystem> ui_weak_ptr_factory_; |
| 965 // Unlike other classes, we need this as we need this to redirect a task | 965 // Unlike other classes, we need this as we need this to redirect a task |
| 966 // from IO thread to UI thread. | 966 // from IO thread to UI thread. |
| 967 base::WeakPtr<GDataFileSystem> ui_weak_ptr_; | 967 base::WeakPtr<GDataFileSystem> ui_weak_ptr_; |
| 968 }; | 968 }; |
| 969 | 969 |
| 970 } // namespace gdata | 970 } // namespace gdata |
| 971 | 971 |
| 972 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ | 972 #endif // CHROME_BROWSER_CHROMEOS_GDATA_GDATA_FILE_SYSTEM_H_ |
| OLD | NEW |