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

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_file_system.cc

Issue 10837148: gdata: Add GetEntryInfoByPath() and ReadDirectoryByPath() to GDataDirectoryService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 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
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 #include "chrome/browser/chromeos/gdata/gdata_file_system.h" 5 #include "chrome/browser/chromeos/gdata/gdata_file_system.h"
6 6
7 #include <set> 7 #include <set>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1818 matching lines...) Expand 10 before | Expand all | Expand 10 after
1829 DCHECK(entry); 1829 DCHECK(entry);
1830 1830
1831 scoped_ptr<GDataEntryProto> entry_proto(new GDataEntryProto); 1831 scoped_ptr<GDataEntryProto> entry_proto(new GDataEntryProto);
1832 entry->ToProtoFull(entry_proto.get()); 1832 entry->ToProtoFull(entry_proto.get());
1833 1833
1834 CheckLocalModificationAndRun(entry_proto.Pass(), callback); 1834 CheckLocalModificationAndRun(entry_proto.Pass(), callback);
1835 } 1835 }
1836 1836
1837 void GDataFileSystem::ReadDirectoryByPath( 1837 void GDataFileSystem::ReadDirectoryByPath(
1838 const FilePath& file_path, 1838 const FilePath& file_path,
1839 const ReadDirectoryCallback& callback) { 1839 const ReadDirectoryWithSettingCallback& callback) {
1840 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) || 1840 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
1841 BrowserThread::CurrentlyOn(BrowserThread::IO)); 1841 BrowserThread::CurrentlyOn(BrowserThread::IO));
1842 RunTaskOnUIThread( 1842 RunTaskOnUIThread(
1843 base::Bind(&GDataFileSystem::ReadDirectoryByPathAsyncOnUIThread, 1843 base::Bind(&GDataFileSystem::ReadDirectoryByPathAsyncOnUIThread,
1844 ui_weak_ptr_, 1844 ui_weak_ptr_,
1845 file_path, 1845 file_path,
1846 CreateRelayCallback(callback))); 1846 CreateRelayCallback(callback)));
1847 } 1847 }
1848 1848
1849 void GDataFileSystem::ReadDirectoryByPathAsyncOnUIThread( 1849 void GDataFileSystem::ReadDirectoryByPathAsyncOnUIThread(
1850 const FilePath& file_path, 1850 const FilePath& file_path,
1851 const ReadDirectoryCallback& callback) { 1851 const ReadDirectoryWithSettingCallback& callback) {
1852 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1852 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1853 1853
1854 FindEntryByPathAsyncOnUIThread( 1854 FindEntryByPathAsyncOnUIThread(
1855 file_path, 1855 file_path,
1856 base::Bind(&GDataFileSystem::OnReadDirectory, 1856 base::Bind(&GDataFileSystem::OnReadDirectory,
1857 ui_weak_ptr_, 1857 ui_weak_ptr_,
1858 callback)); 1858 callback));
1859 } 1859 }
1860 1860
1861 void GDataFileSystem::OnReadDirectory(const ReadDirectoryCallback& callback, 1861 void GDataFileSystem::OnReadDirectory(
1862 GDataFileError error, 1862 const ReadDirectoryWithSettingCallback& callback,
1863 GDataEntry* entry) { 1863 GDataFileError error,
1864 GDataEntry* entry) {
1864 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 1865 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
1865 1866
1866 if (error != GDATA_FILE_OK) { 1867 if (error != GDATA_FILE_OK) {
1867 if (!callback.is_null()) 1868 if (!callback.is_null())
1868 callback.Run(error, 1869 callback.Run(error,
1869 hide_hosted_docs_, 1870 hide_hosted_docs_,
1870 scoped_ptr<GDataEntryProtoVector>()); 1871 scoped_ptr<GDataEntryProtoVector>());
1871 return; 1872 return;
1872 } 1873 }
1873 DCHECK(entry); 1874 DCHECK(entry);
1874 1875
1875 GDataDirectory* directory = entry->AsGDataDirectory(); 1876 GDataDirectory* directory = entry->AsGDataDirectory();
1876 if (!directory) { 1877 if (!directory) {
1877 if (!callback.is_null()) 1878 if (!callback.is_null())
1878 callback.Run(GDATA_FILE_ERROR_NOT_FOUND, 1879 callback.Run(GDATA_FILE_ERROR_NOT_FOUND,
1879 hide_hosted_docs_, 1880 hide_hosted_docs_,
1880 scoped_ptr<GDataEntryProtoVector>()); 1881 scoped_ptr<GDataEntryProtoVector>());
1881 return; 1882 return;
1882 } 1883 }
1883 1884
1884 scoped_ptr<GDataEntryProtoVector> entries(new GDataEntryProtoVector); 1885 scoped_ptr<GDataEntryProtoVector> entries(directory->ToProtoVector());
1885 for (GDataFileCollection::const_iterator iter =
1886 directory->child_files().begin();
1887 iter != directory->child_files().end(); ++iter) {
1888 GDataEntryProto proto;
1889 static_cast<const GDataEntry*>(iter->second)->ToProtoFull(&proto);
1890 entries->push_back(proto);
1891 }
1892 for (GDataDirectoryCollection::const_iterator iter =
1893 directory->child_directories().begin();
1894 iter != directory->child_directories().end(); ++iter) {
1895 GDataEntryProto proto;
1896 static_cast<const GDataEntry*>(iter->second)->ToProtoFull(&proto);
1897 entries->push_back(proto);
1898 }
1899 1886
1900 if (!callback.is_null()) 1887 if (!callback.is_null())
1901 callback.Run(GDATA_FILE_OK, hide_hosted_docs_, entries.Pass()); 1888 callback.Run(GDATA_FILE_OK, hide_hosted_docs_, entries.Pass());
1902 } 1889 }
1903 1890
1904 void GDataFileSystem::RequestDirectoryRefresh(const FilePath& file_path) { 1891 void GDataFileSystem::RequestDirectoryRefresh(const FilePath& file_path) {
1905 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) || 1892 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
1906 BrowserThread::CurrentlyOn(BrowserThread::IO)); 1893 BrowserThread::CurrentlyOn(BrowserThread::IO));
1907 RunTaskOnUIThread( 1894 RunTaskOnUIThread(
1908 base::Bind(&GDataFileSystem::RequestDirectoryRefreshOnUIThread, 1895 base::Bind(&GDataFileSystem::RequestDirectoryRefreshOnUIThread,
(...skipping 1515 matching lines...) Expand 10 before | Expand all | Expand 10 after
3424 } 3411 }
3425 3412
3426 PlatformFileInfoProto entry_file_info; 3413 PlatformFileInfoProto entry_file_info;
3427 GDataEntry::ConvertPlatformFileInfoToProto(*file_info, &entry_file_info); 3414 GDataEntry::ConvertPlatformFileInfoToProto(*file_info, &entry_file_info);
3428 *entry_proto->mutable_file_info() = entry_file_info; 3415 *entry_proto->mutable_file_info() = entry_file_info;
3429 if (!callback.is_null()) 3416 if (!callback.is_null())
3430 callback.Run(GDATA_FILE_OK, entry_proto.Pass()); 3417 callback.Run(GDATA_FILE_OK, entry_proto.Pass());
3431 } 3418 }
3432 3419
3433 } // namespace gdata 3420 } // namespace gdata
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system.h ('k') | chrome/browser/chromeos/gdata/gdata_file_system_interface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698