summaryrefslogtreecommitdiffstats
path: root/base/file_util.h
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-19 23:04:29 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-19 23:04:29 +0000
commit721c3f17a7fb36edaa17f607a11db9c82ba720ca (patch)
treec78e993a5474acdb2751c222db8787d7aa482301 /base/file_util.h
parentf785ad125747f9125c952c7e74f2154098ee15a9 (diff)
downloadchromium_src-721c3f17a7fb36edaa17f607a11db9c82ba720ca.zip
chromium_src-721c3f17a7fb36edaa17f607a11db9c82ba720ca.tar.gz
chromium_src-721c3f17a7fb36edaa17f607a11db9c82ba720ca.tar.bz2
Port directory lister so test shell can view file directories.
Review URL: http://codereview.chromium.org/11437 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5725 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/file_util.h')
-rw-r--r--base/file_util.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/base/file_util.h b/base/file_util.h
index e274d6a..0103003 100644
--- a/base/file_util.h
+++ b/base/file_util.h
@@ -14,6 +14,7 @@
#include <windows.h>
#elif defined(OS_POSIX)
#include <fts.h>
+#include <sys/stat.h>
#endif
#include <stdio.h>
@@ -323,6 +324,15 @@ bool SetCurrentDirectory(const std::wstring& current_directory);
// program where latency does not matter. This class is blocking.
class FileEnumerator {
public:
+#if defined(OS_WIN)
+ typedef WIN32_FIND_DATA FindInfo;
+#elif defined(OS_POSIX)
+ typedef struct {
+ struct stat stat;
+ std::string filename;
+ } FindInfo;
+#endif
+
enum FILE_TYPE {
FILES = 0x1,
DIRECTORIES = 0x2,
@@ -361,6 +371,9 @@ class FileEnumerator {
// Returns an empty string if there are no more results.
std::wstring Next();
+ // Write the file info into |info|.
+ void GetFindInfo(FindInfo* info);
+
private:
std::wstring root_path_;
bool recursive_;
@@ -380,6 +393,7 @@ class FileEnumerator {
HANDLE find_handle_;
#elif defined(OS_POSIX)
FTS* fts_;
+ FTSENT* fts_ent_;
#endif
DISALLOW_EVIL_CONSTRUCTORS(FileEnumerator);