Chromium Code Reviews| Index: chrome/browser/media_gallery/linux/mtp_recursive_device_object_enumerator.h |
| diff --git a/chrome/browser/media_gallery/linux/mtp_recursive_device_object_enumerator.h b/chrome/browser/media_gallery/linux/mtp_recursive_device_object_enumerator.h |
| index 13b5910198f9f5cddf465f0a9115c28648760a59..8c90ed4f556f1ea6ed45b5240076dbdfaa7fcf21 100644 |
| --- a/chrome/browser/media_gallery/linux/mtp_recursive_device_object_enumerator.h |
| +++ b/chrome/browser/media_gallery/linux/mtp_recursive_device_object_enumerator.h |
| @@ -5,6 +5,7 @@ |
| #ifndef CHROME_BROWSER_MEDIA_GALLERY_LINUX_MTP_RECURSIVE_DEVICE_OBJECT_ENUMERATOR_H_ |
| #define CHROME_BROWSER_MEDIA_GALLERY_LINUX_MTP_RECURSIVE_DEVICE_OBJECT_ENUMERATOR_H_ |
| +#include <queue> |
| #include <string> |
| #include <vector> |
| @@ -21,6 +22,8 @@ class WaitableEvent; |
| namespace chrome { |
| +class MTPDeviceObjectEnumerator; |
| + |
| // Recursively enumerate each file entry from a given media file entry set. |
| class MTPRecursiveDeviceObjectEnumerator |
| : public fileapi::FileSystemFileUtil::AbstractFileEnumerator { |
| @@ -40,6 +43,10 @@ class MTPRecursiveDeviceObjectEnumerator |
| virtual base::Time LastModifiedTime() OVERRIDE; |
| private: |
| + typedef uint32_t DirectoryEntryId; |
| + |
| + void UpdateEnumeratorToTraverseSubdirectory(); |
|
Lei Zhang
2013/01/12 01:48:01
Comment.
Lei Zhang
2013/01/12 01:48:01
Alternatively, return a scoped_ptr<MTPDeviceObject
kmadhusu
2013/01/14 18:47:32
Done.
kmadhusu
2013/01/14 18:47:32
Done.
|
| + |
| // Stores the device handle that was used to open the device. |
| const std::string device_handle_; |
| @@ -47,15 +54,14 @@ class MTPRecursiveDeviceObjectEnumerator |
| // ReadMTPDirectoryWorker object on the correct thread. |
| scoped_refptr<base::SequencedTaskRunner> media_task_runner_; |
| - // List of top-level directory file entries. |
| - const std::vector<MtpFileEntry> file_entries_; |
| - |
| - // Iterator to access the individual file entries. |
| - std::vector<MtpFileEntry>::const_iterator file_entry_iter_; |
| - |
| // Enumerator to access current directory Id/path entries. |
| + scoped_ptr<MTPDeviceObjectEnumerator> current_enumerator_; |
| + |
| scoped_ptr<fileapi::FileSystemFileUtil::AbstractFileEnumerator> |
| - current_enumerator_; |
| + empty_enumerator_; |
| + |
| + // Queue of untraversed directories. |
| + std::queue<DirectoryEntryId> untraversed_directory_entry_ids_; |
| // |media_task_runner_| can wait on this event until the requested operation |
| // is complete. |