| 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 #include "chrome/browser/chromeos/gdata/gdata_file_system.h" | 5 #include "chrome/browser/chromeos/gdata/gdata_file_system.h" |
| 6 | 6 |
| 7 #include <errno.h> | 7 #include <errno.h> |
| 8 #include <sys/stat.h> | 8 #include <sys/stat.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 // Returns callback which runs the given |callback| on the current thread. | 827 // Returns callback which runs the given |callback| on the current thread. |
| 828 template<typename CallbackType> | 828 template<typename CallbackType> |
| 829 CallbackType CreateRelayCallback(const CallbackType& callback) { | 829 CallbackType CreateRelayCallback(const CallbackType& callback) { |
| 830 return base::Bind(&RelayCallback<CallbackType>::Run, | 830 return base::Bind(&RelayCallback<CallbackType>::Run, |
| 831 base::MessageLoopProxy::current(), | 831 base::MessageLoopProxy::current(), |
| 832 callback); | 832 callback); |
| 833 } | 833 } |
| 834 | 834 |
| 835 } // namespace | 835 } // namespace |
| 836 | 836 |
| 837 void ReadOnlyFindEntryCallback(GDataEntry** out, |
| 838 base::PlatformFileError error, |
| 839 GDataEntry* entry) { |
| 840 if (error == base::PLATFORM_FILE_OK) |
| 841 *out = entry; |
| 842 } |
| 843 |
| 837 // GDataFileSystem::GetDocumentsParams struct implementation. | 844 // GDataFileSystem::GetDocumentsParams struct implementation. |
| 838 | 845 |
| 839 GDataFileSystem::GetDocumentsParams::GetDocumentsParams( | 846 GDataFileSystem::GetDocumentsParams::GetDocumentsParams( |
| 840 int start_changestamp, | 847 int start_changestamp, |
| 841 int root_feed_changestamp, | 848 int root_feed_changestamp, |
| 842 std::vector<DocumentFeed*>* feed_list, | 849 std::vector<DocumentFeed*>* feed_list, |
| 843 bool should_fetch_multiple_feeds, | 850 bool should_fetch_multiple_feeds, |
| 844 const FilePath& search_file_path, | 851 const FilePath& search_file_path, |
| 845 const std::string& search_query, | 852 const std::string& search_query, |
| 846 const std::string& directory_resource_id, | 853 const std::string& directory_resource_id, |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1043 update_timer_.Stop(); | 1050 update_timer_.Stop(); |
| 1044 } | 1051 } |
| 1045 | 1052 |
| 1046 void GDataFileSystem::Authenticate(const AuthStatusCallback& callback) { | 1053 void GDataFileSystem::Authenticate(const AuthStatusCallback& callback) { |
| 1047 // TokenFetcher, used in DocumentsService, must be run on UI thread. | 1054 // TokenFetcher, used in DocumentsService, must be run on UI thread. |
| 1048 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1055 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1049 | 1056 |
| 1050 documents_service_->Authenticate(callback); | 1057 documents_service_->Authenticate(callback); |
| 1051 } | 1058 } |
| 1052 | 1059 |
| 1053 void GDataFileSystem::FindEntryByResourceIdSync( | 1060 void GDataFileSystem::FindEntryByResourceId(const std::string& resource_id, |
| 1061 const FindEntryCallback& callback) { |
| 1062 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) || |
| 1063 BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 1064 RunTaskOnUIThread( |
| 1065 base::Bind(&GDataFileSystem::FindEntryByResourceIdOnUIThread, |
| 1066 ui_weak_ptr_, |
| 1067 resource_id, |
| 1068 CreateRelayCallback(callback))); |
| 1069 } |
| 1070 |
| 1071 void GDataFileSystem::FindEntryByResourceIdOnUIThread( |
| 1054 const std::string& resource_id, | 1072 const std::string& resource_id, |
| 1055 const FindEntryCallback& callback) { | 1073 const FindEntryCallback& callback) { |
| 1074 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1075 |
| 1056 base::AutoLock lock(lock_); // To access root. | 1076 base::AutoLock lock(lock_); // To access root. |
| 1057 | |
| 1058 GDataFile* file = NULL; | 1077 GDataFile* file = NULL; |
| 1059 GDataEntry* entry = root_->GetEntryByResourceId(resource_id); | 1078 GDataEntry* entry = root_->GetEntryByResourceId(resource_id); |
| 1060 if (entry) | 1079 if (entry) |
| 1061 file = entry->AsGDataFile(); | 1080 file = entry->AsGDataFile(); |
| 1062 | 1081 |
| 1063 if (file) | 1082 if (file) |
| 1064 callback.Run(base::PLATFORM_FILE_OK, file); | 1083 callback.Run(base::PLATFORM_FILE_OK, file); |
| 1065 else | 1084 else |
| 1066 callback.Run(base::PLATFORM_FILE_ERROR_NOT_FOUND, NULL); | 1085 callback.Run(base::PLATFORM_FILE_ERROR_NOT_FOUND, NULL); |
| 1067 } | 1086 } |
| (...skipping 4135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5203 base::PlatformFileError error, | 5222 base::PlatformFileError error, |
| 5204 const std::string& resource_id, | 5223 const std::string& resource_id, |
| 5205 const std::string& md5) { | 5224 const std::string& md5) { |
| 5206 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 5225 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 5207 | 5226 |
| 5208 if (!callback.is_null()) | 5227 if (!callback.is_null()) |
| 5209 callback.Run(error); | 5228 callback.Run(error); |
| 5210 } | 5229 } |
| 5211 | 5230 |
| 5212 } // namespace gdata | 5231 } // namespace gdata |
| OLD | NEW |