00001 //---------------------------------------------------------------------------- 00004 // 00005 // (C) 2003-2006 Celartem Technology Inc. All rights reserved. 00006 //---------------------------------------------------------------------------- 00007 00008 #ifndef _cel_fileutil_h_ 00009 #define _cel_fileutil_h_ 00010 00011 #include "cel_types.h" 00012 #include "cel_string.h" 00013 00014 namespace Celartem 00015 { 00023 namespace FileUtils 00024 { 00066 String normalizePath(const String& inFileName); 00067 00076 String getFullPathName(const String& inFileName); 00077 00085 String getFileNameFromPath(const String& inPathName); 00086 00094 String getExtension(const String& inPathName); 00095 00106 String removeFileNameFromPath(const String& inPathName); 00107 00116 String removeExtensionFromPath(const String& inPathName); 00117 00128 String removeTrailingPathSeparator(const String& inPathName); 00129 00141 String createTempFileName(const String& inFileName); 00142 00150 bool doesExist(const String& inFileName); 00151 00160 bool isDirectory(const String& inPath); 00161 00169 bool deleteFile(const String& inFileName); 00170 00183 bool copyFile( 00184 const String& inSrc, const String& inDest, 00185 bool forceOverwrite = false); 00186 00197 bool replaceFile( 00198 const String& inReplacee, const String& inReplacer); 00199 00207 void setTemporaryAttributes( 00208 const String& inFileName, bool inTemporary = true); 00209 00215 String getCurrentDirectory(); 00216 00222 String getTemporaryDirectory(); 00223 00233 bool isAbsolutePath(const String& inFileName); 00234 00254 class DirectoryListing 00255 { 00256 public: 00263 DirectoryListing(const String& inDirName); 00264 00268 ~DirectoryListing(); 00269 00278 String getNextEntry(); 00279 00280 private: 00281 void *m_context; 00282 00283 DirectoryListing(const DirectoryListing&); 00284 DirectoryListing& operator=(const DirectoryListing&); 00285 }; 00286 } 00287 } 00288 00289 #endif // _cel_fileutil_h_