00001 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00002 /* _______ ______ ______ __ */ 00003 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / ____(_)___ / ___ /) / ____/___ ____/ /__ */ 00004 /* [fsFileDir] / /_ / / __ \\__ \|/ / / / __ \/ __ / _ \ */ 00005 /* rev. 8 / __/ / / /_/ /__/ / / /___/ /_/ / /_/ / __/ */ 00006 /* 15th Jan 2007 /_/ /_/ ,___/____/ \____/\____/\__,_/\___/ */ 00007 /* [x] stable /_/ (c) 2004-07 Filip STOKLAS (FipS) */ 00008 /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ http://HOLE.4FipS.com/fips_code.php */ 00009 /* */ 00010 /* This code is free for personal and commercial use. You may redistribute */ 00011 /* it by any means. If you use the code for your own projects please give */ 00012 /* me credit. Please send a bug report. Don't alter or remove this header! */ 00013 /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ 00014 #ifndef FS_SYS_FSFILEDIR_H 00015 #define FS_SYS_FSFILEDIR_H 00016 //--------------------------------------------------------------------------- 00017 #if defined(FS_INCLUDE_USERDEFS) // inject user definition file on request 00018 # include <fs/fsUserDefs.h> 00019 #endif 00020 //--------------------------------------------------------------------------- 00021 namespace fs { namespace sys { 00022 //--------------------------------------------------------------------------- 00024 namespace fdr { 00025 //--------------------------------------------------------------------------- 00027 const char * GetPathSpr(); 00028 //--------------------------------------------------------------------------- 00030 const char * GetNewLn(); 00031 //--------------------------------------------------------------------------- 00033 const char * GetAppDir(); 00034 //--------------------------------------------------------------------------- 00036 bool IsDirExist(const char *pszFullDir); 00037 //--------------------------------------------------------------------------- 00039 bool MakeDir(const char *pszFullDir); 00040 //--------------------------------------------------------------------------- 00042 void NicePath(char *pszOut, const char *pszDir, const char *pszFile = 0); 00043 //--------------------------------------------------------------------------- 00045 00054 class DirLst_t 00055 { 00056 public: 00057 00059 explicit DirLst_t(const char *pszFullDir, bool bRecur = false, 00060 bool bInclDirs = false, bool bInclFiles = true); 00061 ~DirLst_t(); 00063 bool IsValid() const; 00064 00066 const char * GetRoot() const; 00068 int GetNum() const; 00070 const char * GetAt(int nIndex) const; 00071 00072 private: 00073 00074 DirLst_t(); 00075 DirLst_t(const DirLst_t &); 00076 DirLst_t & operator = (const DirLst_t &); 00077 00078 void *m_pImpl; 00079 }; 00080 //--------------------------------------------------------------------------- 00081 }}} // namespace fs::sys:fdr 00082 //--------------------------------------------------------------------------- 00083 #endif // FS_SYS_FSFILEDIR_H