Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

DirWalker.h

Go to the documentation of this file.
00001 
00040 #ifndef __DIR_WALKER_H__
00041 #define __DIR_WALKER_H__
00042 
00043 #ifdef WIN32
00044 
00045 #include <windows.h>
00046 
00047 #else
00048 
00049 #include <sys/types.h>
00050 #include <dirent.h>
00051 
00052 #define INVALID_HANDLE_VALUE    0
00053 #define MAX_PATH        500
00054 typedef DIR* HANDLE;
00055 
00056 #endif //WIN32
00057 
00058 class DirWalker
00059 {
00060         HANDLE hFile;
00061         char szDirPath[MAX_PATH];
00062         size_t nDirPathLen;
00063 
00064 #ifdef WIN32
00065         WIN32_FIND_DATA findData;
00066 #endif
00067 
00068 public:
00069         DirWalker();
00070         ~DirWalker() { CloseDir(); }
00071 
00072         const char* GetDirPath() { return szDirPath; }
00073         int GetDirPathLen() { return nDirPathLen; }
00074 
00075         bool OpenDir(const char* szDirName);
00076         void CloseDir();
00077         bool GetNextFileOrDir(char* szFileName, size_t buffSize);
00078         bool GetNextFile(char* szFileName, size_t buffSize, char* szFileExt = NULL);
00079         bool GetNextDir(char* szFileName, size_t buffSize);
00080 
00081         static bool IsDirectory(const char* szFileName);
00082         static const char* FindFileExtention(const char* szFileName);
00083         static bool CompFileExt(const char* szFileName, const char* szFileExt);
00084         static void ChangeFileExt(const char* szFileName, const char* szExt, char* szNewName);
00085         static int CreateFileName(const char* szDirName, const char* szPrefix, 
00086                 const char* szFileExt, char szFileName[]);
00087         static int CompareLastModifDate(const char* szFileName1, const char* szFileName2);
00088 };
00089 
00090 #endif //__DIR_WALKER_H__

Generated on Sat Nov 13 11:21:23 2004 for Noisy DAG Matcher by doxygen1.2.18