summaryrefslogtreecommitdiffstats
path: root/tools/aapt/DirectoryWalker.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/aapt/DirectoryWalker.h')
-rw-r--r--tools/aapt/DirectoryWalker.h98
1 files changed, 0 insertions, 98 deletions
diff --git a/tools/aapt/DirectoryWalker.h b/tools/aapt/DirectoryWalker.h
deleted file mode 100644
index 88031d0..0000000
--- a/tools/aapt/DirectoryWalker.h
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// Copyright 2011 The Android Open Source Project
-//
-// Defines an abstraction for opening a directory on the filesystem and
-// iterating through it.
-
-#ifndef DIRECTORYWALKER_H
-#define DIRECTORYWALKER_H
-
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <utils/String8.h>
-
-#include <stdio.h>
-
-using namespace android;
-
-// Directory Walker
-// This is an abstraction for walking through a directory and getting files
-// and descriptions.
-
-class DirectoryWalker {
-public:
- virtual ~DirectoryWalker() {};
- virtual bool openDir(String8 path) = 0;
- virtual bool openDir(const char* path) = 0;
- // Advance to next directory entry
- virtual struct dirent* nextEntry() = 0;
- // Get the stats for the current entry
- virtual struct stat* entryStats() = 0;
- // Clean Up
- virtual void closeDir() = 0;
- // This class is able to replicate itself on the heap
- virtual DirectoryWalker* clone() = 0;
-
- // DATA MEMBERS
- // Current directory entry
- struct dirent mEntry;
- // Stats for that directory entry
- struct stat mStats;
- // Base path
- String8 mBasePath;
-};
-
-// System Directory Walker
-// This is an implementation of the above abstraction that calls
-// real system calls and is fully functional.
-// functions are inlined since they're very short and simple
-
-class SystemDirectoryWalker : public DirectoryWalker {
-
- // Default constructor, copy constructor, and destructor are fine
-public:
- virtual bool openDir(String8 path) {
- mBasePath = path;
- dir = NULL;
- dir = opendir(mBasePath.string() );
-
- if (dir == NULL)
- return false;
-
- return true;
- };
- virtual bool openDir(const char* path) {
- String8 p(path);
- openDir(p);
- return true;
- };
- // Advance to next directory entry
- virtual struct dirent* nextEntry() {
- struct dirent* entryPtr = readdir(dir);
- if (entryPtr == NULL)
- return NULL;
-
- mEntry = *entryPtr;
- // Get stats
- String8 fullPath = mBasePath.appendPathCopy(mEntry.d_name);
- stat(fullPath.string(),&mStats);
- return &mEntry;
- };
- // Get the stats for the current entry
- virtual struct stat* entryStats() {
- return &mStats;
- };
- virtual void closeDir() {
- closedir(dir);
- };
- virtual DirectoryWalker* clone() {
- return new SystemDirectoryWalker(*this);
- };
-private:
- DIR* dir;
-};
-
-#endif // DIRECTORYWALKER_H